fix chunk=0

Found by testremote
This commit is contained in:
Joey Hess 2014-08-01 15:36:11 -04:00
parent 9720ee9e56
commit 8fce4e4bd7

View file

@ -33,6 +33,7 @@ data ChunkConfig
= NoChunks = NoChunks
| UnpaddedChunks ChunkSize | UnpaddedChunks ChunkSize
| LegacyChunks ChunkSize | LegacyChunks ChunkSize
deriving (Show)
noChunks :: ChunkConfig -> Bool noChunks :: ChunkConfig -> Bool
noChunks NoChunks = True noChunks NoChunks = True
@ -43,12 +44,14 @@ chunkConfig m =
case M.lookup "chunksize" m of case M.lookup "chunksize" m of
Nothing -> case M.lookup "chunk" m of Nothing -> case M.lookup "chunk" m of
Nothing -> NoChunks Nothing -> NoChunks
Just v -> UnpaddedChunks $ readsz v "chunk" Just v -> readsz UnpaddedChunks v "chunk"
Just v -> LegacyChunks $ readsz v "chunksize" Just v -> readsz LegacyChunks v "chunksize"
where where
readsz v f = case readSize dataUnits v of readsz c v f = case readSize dataUnits v of
Just size | size > 0 -> fromInteger size Just size
_ -> error ("bad " ++ f) | size == 0 -> NoChunks
| size > 0 -> c (fromInteger size)
_ -> error $ "bad configuration " ++ f ++ "=" ++ v
-- An infinite stream of chunk keys, starting from chunk 1. -- An infinite stream of chunk keys, starting from chunk 1.
newtype ChunkKeyStream = ChunkKeyStream [Key] newtype ChunkKeyStream = ChunkKeyStream [Key]