parseRange :: String -> FileOffset -> Maybe (FileOffset, FileOffset)
parseRange (splitAt 6 -> ("bytes=", readDec -> [(a, "-")])) size =
Just (a, size - 1)
-parseRange (splitAt 6 -> ("bytes=", readDec -> [(a, '-':(readDec -> [(b, "")]))])) _ =
- Just (a, b)
+parseRange (splitAt 6 -> ("bytes=", readDec -> [(a, '-':(readDec -> [(b, "")]))])) size =
+ Just (a, min (size - 1) b)
parseRange _ _ = Nothing
checkRange :: EpochTime -> FileOffset -> CGI (Maybe (FileOffset, FileOffset))