diff options
author | Kazu Yamamoto <kazu@iij.ad.jp> | 2011-08-30 16:23:07 +0900 |
---|---|---|
committer | Kazu Yamamoto <kazu@iij.ad.jp> | 2011-08-30 16:23:07 +0900 |
commit | 597ae83b60dd28706cd29e4df5c69204a4b983a8 (patch) | |
tree | 8e9f365f73871831a3b33d5f1817384a6d7b286c /Network/DNS/Query.hs | |
parent | 8ba004e4135783c2a3c79e057c553fa01fb87a57 (diff) |
attoparsec + enumerator.
Diffstat (limited to 'Network/DNS/Query.hs')
-rw-r--r-- | Network/DNS/Query.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Network/DNS/Query.hs b/Network/DNS/Query.hs index 7c27b63..30c7e24 100644 --- a/Network/DNS/Query.hs +++ b/Network/DNS/Query.hs @@ -62,13 +62,13 @@ encodeQuestion qs = encodeDomain dom ---------------------------------------------------------------- encodeDomain :: Domain -> SPut -encodeDomain dom = foldr (+++) (put8 0) (map encodeSubDomain $ zip ls ss) +encodeDomain dom = foldr ((+++) . encodeSubDomain) (put8 0) $ zip ls ss where ss = filter (not . BS.null) $ BS.split '.' dom ls = map BS.length ss encodeSubDomain :: (Int, Domain) -> SPut encodeSubDomain (len,sub) = putInt8 len - +++ foldr (+++) mempty (map put8 ss) + +++ foldr ((+++) . put8) mempty ss where ss = BS.unpack sub |