summaryrefslogtreecommitdiffhomepage
path: root/Network
diff options
context:
space:
mode:
authorGravatar Kazu Yamamoto <kazu@iij.ad.jp>2010-06-30 15:40:48 +0900
committerGravatar Kazu Yamamoto <kazu@iij.ad.jp>2010-06-30 15:40:48 +0900
commitd415aee2d90c09e75fa9256746aeba531165a397 (patch)
treed14e4e21558d1072d160485a9d027ea31bf76049 /Network
parentee2bab96ae61204a740b513506d794b3f9347f38 (diff)
parser removing trailing WSP.
Diffstat (limited to 'Network')
-rw-r--r--Network/DNS/Resolver.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/Network/DNS/Resolver.hs b/Network/DNS/Resolver.hs
index 306ea88..a685d37 100644
--- a/Network/DNS/Resolver.hs
+++ b/Network/DNS/Resolver.hs
@@ -11,6 +11,7 @@ module Network.DNS.Resolver (
import Control.Applicative
import Control.Exception
+import Data.Char
import Data.Int
import Data.List hiding (find, lookup)
import Network.BSD
@@ -88,7 +89,8 @@ makeResolvSeed conf = ResolvSeed <$> addr
RCHostName numhost -> makeAddrInfo numhost
RCFilePath file -> toAddr <$> readFile file >>= makeAddrInfo
toAddr cs = let l:_ = filter ("nameserver" `isPrefixOf`) $ lines cs
- in drop 11 l
+ in extract l
+ extract = reverse . dropWhile isSpace . reverse . dropWhile isSpace . drop 11
makeAddrInfo :: HostName -> IO AddrInfo
makeAddrInfo addr = do
@@ -130,8 +132,7 @@ getRandom = getStdRandom (randomR (0,65535))
Looking up resource records of a domain.
-}
lookup :: Resolver -> Domain -> TYPE -> IO (Maybe [RDATA])
-lookup rlv dom typ = do
- (>>= toRDATA) <$> lookupRaw rlv dom typ
+lookup rlv dom typ = (>>= toRDATA) <$> lookupRaw rlv dom typ
where
{- CNAME hack
dom' = if "." `isSuffixOf` dom