summaryrefslogtreecommitdiff
path: root/src/Network/Tox/NodeId.hs
diff options
context:
space:
mode:
authorJoe Crayne <joe@jerkface.net>2018-11-04 20:23:44 -0500
committerJoe Crayne <joe@jerkface.net>2018-11-04 20:24:02 -0500
commit7e255f7695b700eefb06f7ec508464a2fbf5163a (patch)
tree85f7038f4b1d1f4e7c8c8a7a081819e44b9ad6ce /src/Network/Tox/NodeId.hs
parente0fc956953100a375ef1e325d8e5d53b96de0749 (diff)
Build fixes for GHC 8.6.1
Diffstat (limited to 'src/Network/Tox/NodeId.hs')
-rw-r--r--src/Network/Tox/NodeId.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Network/Tox/NodeId.hs b/src/Network/Tox/NodeId.hs
index d5da692a..dc600db7 100644
--- a/src/Network/Tox/NodeId.hs
+++ b/src/Network/Tox/NodeId.hs
@@ -589,7 +589,8 @@ parseNoSpamJID jid = do
589 589
590solveBase64NoSpamID :: String -> PublicKey -> Either String NoSpamId 590solveBase64NoSpamID :: String -> PublicKey -> Either String NoSpamId
591solveBase64NoSpamID b64digits pub = do 591solveBase64NoSpamID b64digits pub = do
592 NoSpam nospam (Just x) <- readEither $ '$' : map (\case; '?' -> '0'; c -> c) b64digits 592 NoSpam nospam mx <- readEither $ '$' : map (\case; '?' -> '0'; c -> c) b64digits
593 maybe (const $ Left "missing checksum") (flip ($)) mx $ \x -> do
593 let nlo = fromIntegral (0x0FFFF .&. nospam) :: Word16 594 let nlo = fromIntegral (0x0FFFF .&. nospam) :: Word16
594 nhi = fromIntegral (0x0FFFF .&. (nospam `shiftR` 16)) :: Word16 595 nhi = fromIntegral (0x0FFFF .&. (nospam `shiftR` 16)) :: Word16
595 sum = x `xor` nlo `xor` nhi `xor` xorsum pub 596 sum = x `xor` nlo `xor` nhi `xor` xorsum pub