From b678a50d7385319c78384603e0065f669638c8a9 Mon Sep 17 00:00:00 2001 From: atpotts Date: Mon, 10 Dec 2018 15:05:30 +0000 Subject: [PATCH] fix chmod bug (#337) The implementation of chmod was calculating the new permissions, but then setting the permissions back to the old ones. This fixes this bug. Similarly, the value returned was the od value rather than the new one. --- src/Turtle/Prelude.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Turtle/Prelude.hs b/src/Turtle/Prelude.hs index a387a0d..3fb5a9e 100644 --- a/src/Turtle/Prelude.hs +++ b/src/Turtle/Prelude.hs @@ -1253,9 +1253,9 @@ chmod modifyPermissions path = liftIO (do let permissions' = fromSystemDirectoryPermissions permissions let permissions'' = modifyPermissions permissions' changed = permissions' /= permissions'' - let permissions''' = toSystemDirectoryPermissions permissions' + let permissions''' = toSystemDirectoryPermissions permissions'' when changed (Directory.setPermissions path' permissions''') - return permissions' ) + return permissions'' ) -- | Get a file or directory's user permissions getmod :: MonadIO io => FilePath -> io Permissions