]> gitweb.michael.orlitzky.com - hath.git/blobdiff - src/Main.hs
src/Main.hs: add an explicit export list.
[hath.git] / src / Main.hs
index 0ebfafa67aaadcf06e3148b22f0574967b8b7fd8..085e30e1ba62aef6c53364e5b6dae8a67994124f 100644 (file)
@@ -1,8 +1,9 @@
-module Main
+module Main (main)
 where
 
 import Control.Monad (when)
 import Data.List ((\\), intercalate)
 where
 
 import Control.Monad (when)
 import Data.List ((\\), intercalate)
+import qualified Data.List as List (sort)
 import Data.Maybe (catMaybes, isNothing)
 import System.Exit (ExitCode( ExitFailure ), exitWith)
 import System.IO (stderr, hPutStrLn)
 import Data.Maybe (catMaybes, isNothing)
 import System.Exit (ExitCode( ExitFailure ), exitWith)
 import System.IO (stderr, hPutStrLn)
@@ -22,7 +23,7 @@ import Cidr (
   min_octet4 )
 import qualified Cidr ( normalize )
 import CommandLine(
   min_octet4 )
 import qualified Cidr ( normalize )
 import CommandLine(
-  Args( Regexed, Reduced, Duped, Diffed, Listed, barriers, normalize ),
+  Args( Regexed, Reduced, Duped, Diffed, Listed, barriers, normalize, sort ),
   get_args )
 import ExitCodes ( exit_invalid_cidr )
 import Octet ()
   get_args )
 import ExitCodes ( exit_invalid_cidr )
 import Octet ()
@@ -130,7 +131,8 @@ main = do
     Reduced{} -> do
       -- Pre-normalize all CIDRs if the user asked for it.
       let nrml_func = if (normalize args) then Cidr.normalize else id
     Reduced{} -> do
       -- Pre-normalize all CIDRs if the user asked for it.
       let nrml_func = if (normalize args) then Cidr.normalize else id
-      mapM_ print (combine_all (map nrml_func valid_cidrs))
+      let sort_func = if (sort args) then List.sort else id :: [Cidr] -> [Cidr]
+      mapM_ (print . nrml_func) (sort_func $ combine_all valid_cidrs)
     Duped{} ->
        mapM_ print dupes
        where
     Duped{} ->
        mapM_ print dupes
        where