diff options
Diffstat (limited to 'lib/SlackBuilder')
| -rw-r--r-- | lib/SlackBuilder/Info.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/SlackBuilder/Info.hs b/lib/SlackBuilder/Info.hs index 7617e15..e2f5018 100644 --- a/lib/SlackBuilder/Info.hs +++ b/lib/SlackBuilder/Info.hs @@ -65,9 +65,11 @@ packageDownloads variableName = string (variableName <> "=\"") <* string "\"\n" hexDigit :: GenParser Word8 -hexDigit = - let digitPair = count 2 hexDigitChar - in fst . head . readHex . fmap (toEnum . fromIntegral) <$> digitPair +hexDigit = count 2 hexDigitChar + >>= extractNumber . readHex . fmap (toEnum . fromIntegral) + where + extractNumber [(number, "")] = pure number + extractNumber _ = fail "Unable to convert a 2-digit hexadecimal number" packageChecksum :: GenParser ByteString packageChecksum = ByteString.pack <$> count 16 hexDigit |
