By | fr33domlover |
At | 2016-04-20 |
Title | Make the local binary utils build |
Description |
Edit file hit-network.cabal 0 → 0
- 33 exposed-modules: Network.Git
- 34 -- other-modules:
+ 33 exposed-modules:
+ 34 -- Network.Git.Get
+ 35 -- Network.Git.Fetch.Ack
+ 36 -- Network.Git.Fetch.Monad
+ 37 -- Network.Git.Fetch.RefDiscovery
+ 38 -- Network.Git.Put
+ 39 -- Network.Git.Types
+ 40 other-modules: Data.Binary.Get.Local
+ 41 Data.Binary.Put.Local
+ 51 , binary
+ 52 , bytestring
… … … … Edit file src/Data/Binary/Get/Local.hs 0 → 0
- 1 {- This file is part of Vervis.
+ 1 {- This file is part of hit-network.
… … … … - 20 --TODO i added more functions below, didnt export yet
+ 20 , requireWord8
+ 21 , requireSpace
+ 22 , requireNewline
+ 23 , requireByteString
+ 30 import Control.Monad (void)
+ 31 import Data.Binary.Get
+ 32 import Data.Bits
+ 33 import Data.ByteString (ByteString)
+ 34 import Data.Maybe (fromMaybe)
+ 35 import Data.Word (Word8)
+ 36 + 37 import qualified Data.ByteString as B
+ 38 … … … … + 80 fromDigit :: Num a => Word8 -> Maybe a
+ 81 fromDigit w =
+ 82 if 48 <= w && w <= 57
+ 83 then Just $ fromIntegral $ w - 48
+ 84 else Nothing
+ 85 + 86 fromDecimal :: Num a => ByteString -> Maybe a
+ 87 fromDecimal s = go s 0
+ 88 where
+ 89 go b n =
+ 90 case B.uncons b of
+ 91 Nothing -> Just n
+ 92 Just (w, r) ->
+ 93 case fromDigit w of
+ 94 Nothing -> Nothing
+ 95 Just d -> go r $ 10 * n + d
+ 96 … … … … - 90 case fromDecimal s
+ 119 case fromDecimal s of
… … … … - 112 b <- getByteString $ length s
+ 141 b <- getByteString $ B.length s
… … … … Edit file src/Data/Binary/Put/Local.hs 0 → 0
- 1 {- This file is part of Vervis.
+ 1 {- This file is part of hit-network.
… … … … + 25 import Data.Binary.Put
+ 26 import Data.Bits (toIntegralSized)
+ 27 import Data.Maybe (fromMaybe)
+ 28 import Data.Word (Word8)
+ 29 … … … … - 49 | 0 <= w && w <= 9 =
- 50 | 10 <= w && w <= 15 =
- 51 | otherwise =
+ 54 | 0 <= w && w <= 9 = putWord8 $ w + 48
+ 55 | 10 <= w && w <= 15 = putWord8 $ w + 87
+ 56 | otherwise = return ()
… … … …