diff options
author | James Crayne <jim.crayne@gmail.com> | 2014-04-25 21:13:46 -0400 |
---|---|---|
committer | James Crayne <jim.crayne@gmail.com> | 2014-04-25 21:13:46 -0400 |
commit | 679d59d8dd98c708fa7c9ccc47709968f5ab029f (patch) | |
tree | 8869925223ddfa69497c998a942bccb41e92eb03 /KeyRing.hs | |
parent | 0897793ef2431fe4f8c8210cdd057ae4d1c4d386 (diff) |
Simplify some code using mfilter (/="")
Diffstat (limited to 'KeyRing.hs')
-rw-r--r-- | KeyRing.hs | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -211,7 +211,7 @@ data KeyRingRuntime = KeyRingRuntime | |||
211 | } | 211 | } |
212 | 212 | ||
213 | -- | TODO: Packet Update should have deletiong action | 213 | -- | TODO: Packet Update should have deletiong action |
214 | -- and any other kind of roster entry level | 214 | -- and any other kind of roster-entry level |
215 | -- action. | 215 | -- action. |
216 | data PacketUpdate = InducerSignature String [SignatureSubpacket] | 216 | data PacketUpdate = InducerSignature String [SignatureSubpacket] |
217 | 217 | ||
@@ -1708,10 +1708,8 @@ getHomeDir protohome = do | |||
1708 | return $ KikiSuccess (homedir,secring,pubring,workingkey) | 1708 | return $ KikiSuccess (homedir,secring,pubring,workingkey) |
1709 | where | 1709 | where |
1710 | envhomedir opt = do | 1710 | envhomedir opt = do |
1711 | gnupghome <- lookupEnv (homevar home) >>= | 1711 | gnupghome <- fmap (mfilter (/="")) $ lookupEnv (homevar home) |
1712 | \d -> return $ d >>= guard . (/="") >> d | 1712 | homed <- fmap (mfilter (/="") . Just) getHomeDirectory |
1713 | homed <- flip fmap getHomeDirectory $ | ||
1714 | \d -> fmap (const d) $ guard (d/="") | ||
1715 | let homegnupg = (++('/':(appdir home))) <$> homed | 1713 | let homegnupg = (++('/':(appdir home))) <$> homed |
1716 | let val = (opt `mplus` gnupghome `mplus` homegnupg) | 1714 | let val = (opt `mplus` gnupghome `mplus` homegnupg) |
1717 | return $ val | 1715 | return $ val |