From 7e255f7695b700eefb06f7ec508464a2fbf5163a Mon Sep 17 00:00:00 2001 From: Joe Crayne Date: Sun, 4 Nov 2018 20:23:44 -0500 Subject: Build fixes for GHC 8.6.1 --- src/Network/Tox/NodeId.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/Network/Tox/NodeId.hs') 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 solveBase64NoSpamID :: String -> PublicKey -> Either String NoSpamId solveBase64NoSpamID b64digits pub = do - NoSpam nospam (Just x) <- readEither $ '$' : map (\case; '?' -> '0'; c -> c) b64digits + NoSpam nospam mx <- readEither $ '$' : map (\case; '?' -> '0'; c -> c) b64digits + maybe (const $ Left "missing checksum") (flip ($)) mx $ \x -> do let nlo = fromIntegral (0x0FFFF .&. nospam) :: Word16 nhi = fromIntegral (0x0FFFF .&. (nospam `shiftR` 16)) :: Word16 sum = x `xor` nlo `xor` nhi `xor` xorsum pub -- cgit v1.2.3