X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FParser%2FHttp.hs;h=f6c80dc8072f65abb76deec29c6fc0f6addc476f;hb=f62b6f07bbf1eefcf552163d8f7daa6e0862ed5d;hp=a5dfbd90677853038f2a3ee10e8799f3978adf91;hpb=0dc3d31312a12f2b085242841b29eb0d96e9c4ac;p=Lucu.git diff --git a/Network/HTTP/Lucu/Parser/Http.hs b/Network/HTTP/Lucu/Parser/Http.hs index a5dfbd9..f6c80dc 100644 --- a/Network/HTTP/Lucu/Parser/Http.hs +++ b/Network/HTTP/Lucu/Parser/Http.hs @@ -87,7 +87,7 @@ lws = do s <- option "" crlf -- |'text' accepts one character which doesn't satisfy 'isCtl'. text :: Parser Char -text = satisfy (\ c -> not (isCtl c)) +text = satisfy (not . isCtl) -- |'separator' accepts one character which satisfies 'isSeparator'. separator :: Parser Char @@ -104,7 +104,7 @@ quotedStr = do char '"' qdtext = do c <- satisfy (/= '"') return [c] - quotedPair = do q <- char '\\' + quotedPair = do char '\\' c <- satisfy isChar return [c] @@ -112,14 +112,14 @@ quotedStr = do char '"' qvalue :: Parser Double qvalue = do x <- char '0' xs <- option "" - $ do x <- char '.' - xs <- many digit -- 本當は三文字までに制限 - return (x:xs) + $ do y <- char '.' + ys <- many digit -- 本當は三文字までに制限 + return (y:ys) return $ read (x:xs) <|> do x <- char '1' xs <- option "" - $ do x <- char '.' - xs <- many (char '0') -- 本當は三文字までに制限 - return (x:xs) + $ do y <- char '.' + ys <- many (char '0') -- 本當は三文字までに制限 + return (y:ys) return $ read (x:xs)