equal
deleted
inserted
replaced
3 |
3 |
4 import Data.Char |
4 import Data.Char |
5 import Data.Word |
5 import Data.Word |
6 import qualified Data.Map as Map |
6 import qualified Data.Map as Map |
7 import qualified Data.Set as Set |
7 import qualified Data.Set as Set |
|
8 import qualified Data.Char as Char |
8 import Numeric |
9 import Numeric |
9 import Network.Socket |
10 import Network.Socket |
10 import System.IO |
11 import System.IO |
11 import qualified Data.List as List |
12 import qualified Data.List as List |
12 import Control.Monad |
13 import Control.Monad |
13 import qualified Codec.Binary.Base64 as Base64 |
14 import qualified Codec.Binary.Base64 as Base64 |
14 import qualified Data.ByteString.Lazy as BL |
15 import qualified Data.ByteString.Lazy as BL |
15 import qualified Text.Show.ByteString as BS |
16 import qualified Text.Show.ByteString as BS |
16 import qualified Data.ByteString.Char8 as B |
17 import qualified Data.ByteString.Char8 as B |
|
18 import qualified Data.ByteString.UTF8 as UTF8 |
17 import qualified Data.ByteString as BW |
19 import qualified Data.ByteString as BW |
18 ------------------------------------------------- |
20 ------------------------------------------------- |
19 import CoreTypes |
21 import CoreTypes |
20 |
22 |
21 |
23 |
110 Just (i, t) | B.null t -> fromIntegral i |
112 Just (i, t) | B.null t -> fromIntegral i |
111 _ -> 0 |
113 _ -> 0 |
112 |
114 |
113 cutHost :: B.ByteString -> B.ByteString |
115 cutHost :: B.ByteString -> B.ByteString |
114 cutHost = B.intercalate "." . flip (++) ["*","*"] . List.take 2 . B.split '.' |
116 cutHost = B.intercalate "." . flip (++) ["*","*"] . List.take 2 . B.split '.' |
|
117 |
|
118 caseInsensitiveCompare :: B.ByteString -> B.ByteString -> Bool |
|
119 caseInsensitiveCompare a b = f a == f b |
|
120 where |
|
121 f = map Char.toUpper . UTF8.toString |