diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2017-06-09 15:07:15 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2017-06-10 03:28:49 +0300 |
commit | fe69c19646acf2ebdf52db7edc73cf02337db4de (patch) | |
tree | c5710fe3ad521e4f11191cf820db3a38b9723799 /src/WindowsEnv/Registry.hs | |
parent | add comments to `foreign` imports (diff) | |
download | windows-env-fe69c19646acf2ebdf52db7edc73cf02337db4de.tar.gz windows-env-fe69c19646acf2ebdf52db7edc73cf02337db4de.zip |
paths: don't expand registry values
Diffstat (limited to 'src/WindowsEnv/Registry.hs')
-rw-r--r-- | src/WindowsEnv/Registry.hs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/WindowsEnv/Registry.hs b/src/WindowsEnv/Registry.hs index 4004734..6de1d4c 100644 --- a/src/WindowsEnv/Registry.hs +++ b/src/WindowsEnv/Registry.hs @@ -30,8 +30,7 @@ module WindowsEnv.Registry , getValue , GetValueFlag(..) , getType - - , getExpandedString + , getString , setValue , setString @@ -238,7 +237,7 @@ getValue keyPath valueName flags = valueType <- toEnum . fromIntegral <$> peek valueTypePtr return (valueType, buffer) where - rawFlags = fromIntegral $ foldr ((.|.) . fromEnum) 0 flags + rawFlags = fromIntegral $ foldr ((.|.) . fromEnum) 0 (DoNotExpand : flags) getType :: IsKeyPath a => a -> ValueName -> [GetValueFlag] -> ExceptT IOError IO ValueType getType keyPath valueName flags = @@ -250,11 +249,11 @@ getType keyPath valueName flags = c_RegGetValue keyHandlePtr WinAPI.nullPtr valueNamePtr rawFlags valueTypePtr WinAPI.nullPtr WinAPI.nullPtr toEnum . fromIntegral <$> peek valueTypePtr where - rawFlags = fromIntegral $ foldr ((.|.) . fromEnum) 0 (DoNotExpand : flags) + rawFlags = fromIntegral $ foldr ((.|.) . fromEnum) 0 flags -getExpandedString :: IsKeyPath a => a -> ValueName -> ExceptT IOError IO String -getExpandedString keyPath valueName = do - valueData <- getValue keyPath valueName [RestrictString] +getString :: IsKeyPath a => a -> ValueName -> ExceptT IOError IO String +getString keyPath valueName = do + valueData <- getValue keyPath valueName [RestrictExpandableString, RestrictString] return $ decodeString valueData setValue :: IsKeyPath a => a -> ValueName -> ValueData -> ExceptT IOError IO () |