]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/RFC1123DateTime.hs
The parser now returns unboxed tuple.
[Lucu.git] / Network / HTTP / Lucu / RFC1123DateTime.hs
index 9962c16924a935aa1e28e57bc7d72dd8f310b880..2cd06cc9cac7f79f2870e3da1847c57f8e089350 100644 (file)
@@ -37,7 +37,7 @@ formatRFC1123DateTime time
       fmtDec 2 (ctMin    time)
       ++ ":"  ++
       fmtDec 2 (ctSec    time)
-      ++ ":"  ++
+      ++ " "  ++
       id       (ctTZName time)
       
 
@@ -65,17 +65,17 @@ formatHTTPDateTime time
 parseHTTPDateTime :: String -> Maybe ClockTime
 parseHTTPDateTime src
     = case parseStr httpDateTime src of
-        (Success ct, _) -> Just ct
-        _               -> Nothing
+        (# Success ct, _ #) -> Just ct
+        (# _         , _ #) -> Nothing
 
 
 httpDateTime :: Parser ClockTime
-httpDateTime = do foldl (<|>) (fail "") (map string week)
+httpDateTime = do foldl (<|>) failP (map string week)
                   char ','
                   char ' '
                   day  <- liftM read (count 2 digit)
                   char ' '
-                  mon  <- foldl (<|>) (fail "") (map tryEqToFst (zip month [1..]))
+                  mon  <- foldl (<|>) failP (map tryEqToFst (zip month [1..]))
                   char ' '
                   year <- liftM read (count 4 digit)
                   char ' '