X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FMain.hs;h=f567400c1ac4080905b9a31700051bf91cb81d82;hb=cca5aba75c313151878a98344c289827c94151e7;hp=e57959e460e964d9beec7f09995dd40d5f84aae0;hpb=18a81546e7c4ad10574918efb08b2e104e911d73;p=hath.git diff --git a/src/Main.hs b/src/Main.hs index e57959e..f567400 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -1,3 +1,6 @@ +module Main +where + import Control.Concurrent.ParallelIO.Global ( parallel, stopGlobalPool ) @@ -8,27 +11,27 @@ import Data.Maybe (catMaybes, isNothing) import Data.String.Utils (splitWs) import System.Exit (ExitCode(..), exitSuccess, exitWith) import System.IO (stderr, hPutStrLn) - -import Cidr (Cidr(..), - cidr_from_string, - combine_all, - enumerate, - max_octet1, - max_octet2, - max_octet3, - max_octet4, - min_octet1, - min_octet2, - min_octet3, - min_octet4 ) - -import CommandLine (help_set, - help_text, - input_function, - Mode(..), - parse_errors, - parse_mode) - +import Text.Read (readMaybe) + +import Cidr ( + Cidr(..), + combine_all, + enumerate, + max_octet1, + max_octet2, + max_octet3, + max_octet4, + min_octet1, + min_octet2, + min_octet3, + min_octet4 ) +import CommandLine ( + help_set, + help_text, + input_function, + Mode(..), + parse_errors, + parse_mode ) import DNS (Domain, lookup_ptrs) import ExitCodes ( exit_args_parse_failed, exit_invalid_cidr ) import Octet () @@ -112,7 +115,7 @@ main = do input <- inputfunc let cidr_strings = splitWs input - let cidrs = map cidr_from_string cidr_strings + let cidrs = map readMaybe cidr_strings when (any isNothing cidrs) $ do putStrLn "Error: not valid CIDR notation."