- rc <- case (server cfg) of
- Nothing -> return defaultResolvConf
- Just s -> do
- s' <- resolve_address s
- case s' of
- Nothing -> do
- hPutStrLn stderr ("Bad DNS server or lookup error: " ++ s)
- exitWith (ExitFailure exit_bad_server)
- Just s'' ->
- return $ defaultResolvConf { resolvInfo =
- RCHostName (show s'') }
-
+ rc' <- case (server cfg) of
+ Nothing -> return defaultResolvConf
+ Just s -> do
+ s' <- resolve_address s
+ case s' of
+ Nothing -> do
+ hPutStrLn stderr ("Bad DNS server or lookup error: " ++ s)
+ exitWith (ExitFailure exit_bad_server)
+ Just s'' ->
+ return $ defaultResolvConf { resolvInfo =
+ RCHostName (show s'') }
+
+ -- Set the timeout from the command line. The resolvTimeout field is
+ -- in microseconds, so we multiply by one million.
+ let rc = rc' { resolvTimeout = 1000 * 1000 * (seconds $ timeout cfg) }