X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=time-http.git;a=blobdiff_plain;f=Data%2FTime%2FHTTP%2FCommon.hs;h=a84dda7fa1434e05f75330c1435168ed97ead8f4;hp=6cb59b3bc63aaf06b1701c0ba978dc80870d3c4c;hb=ef4dedbd58f5a24f6a737a9e5d6a506c6d401f43;hpb=01d923fe509a76afa27efdc7370438c5d4900492 diff --git a/Data/Time/HTTP/Common.hs b/Data/Time/HTTP/Common.hs index 6cb59b3..a84dda7 100644 --- a/Data/Time/HTTP/Common.hs +++ b/Data/Time/HTTP/Common.hs @@ -18,7 +18,7 @@ module Data.Time.HTTP.Common , read2 , read4 - , showTZ + , show4digitsTZ , read4digitsTZ , assertWeekDayIsGood @@ -164,13 +164,13 @@ show4 :: Integral i => i -> String show4 i | i >= 0 && i < 10 = "000" ++ show i | i >= 0 && i < 100 = "00" ++ show i - | i >= 0 && i < 1000 = "0" ++ show i + | i >= 0 && i < 1000 = '0' : show i | i >= 0 && i < 10000 = show i | otherwise = error ("show4: the integer i must satisfy 0 <= i < 10000: " ++ show i) show2 :: Integral i => i -> String show2 i - | i >= 0 && i < 10 = "0" ++ show i + | i >= 0 && i < 10 = '0' : show i | i >= 0 && i < 100 = show i | otherwise = error ("show2: the integer i must satisfy 0 <= i < 100: " ++ show i) @@ -202,8 +202,8 @@ fromC '8' = 8 fromC '9' = 9 fromC _ = undefined -showTZ :: TimeZone -> String -showTZ tz +show4digitsTZ :: TimeZone -> String +show4digitsTZ tz = case timeZoneMinutes tz of offset | offset < 0 -> '-' : showTZ' (negate offset) | otherwise -> '+' : showTZ' offset @@ -212,7 +212,7 @@ showTZ tz = let h = offset `div` 60 m = offset - h * 60 in - concat [show2 h, show2 m] + show2 h ++ show2 m read4digitsTZ :: Stream s m Char => ParsecT s u m TimeZone read4digitsTZ @@ -222,7 +222,7 @@ read4digitsTZ hour <- read2 minute <- read2 let tz = TimeZone { - timeZoneMinutes = (sign * (hour * 60 + minute)) + timeZoneMinutes = sign * (hour * 60 + minute) , timeZoneSummerOnly = False , timeZoneName = timeZoneOffsetString tz }