netserver/Opts.hs
changeset 1342 ae6c4f10ace2
parent 1341 86d7d5ab22a2
child 1383 d20e6e8928e3
equal deleted inserted replaced
1341:86d7d5ab22a2 1342:ae6c4f10ace2
     9 data Flag = ListenPort PortNumber
     9 data Flag = ListenPort PortNumber
    10 	deriving Show
    10 	deriving Show
    11 
    11 
    12 options :: [OptDescr Flag]
    12 options :: [OptDescr Flag]
    13 options = [
    13 options = [
    14 	Option ['p'] ["port"] (OptArg defaultPort "PORT") "listen on PORT"
    14 	Option ['p'] ["port"] (OptArg readPort "PORT") "listen on PORT"
    15 	]
    15 	]
    16 
    16 
    17 defaultPort :: Maybe String -> Flag
    17 readPort :: Maybe String -> Flag
    18 defaultPort str = ListenPort $ fromInteger (fromMaybe 46631 (maybeRead (fromMaybe "46631" str) :: Maybe Integer))
    18 readPort str = ListenPort $ fromInteger (fromMaybe 46631 (maybeRead (fromMaybe "46631" str) :: Maybe Integer))
    19 
    19 
    20 opts :: IO [Flag]
    20 opts :: IO [Flag]
    21 opts = do
    21 opts = do
    22 	args <- getArgs
    22 	args <- getArgs
    23 	case getOpt Permute options args of
    23 	case getOpt Permute options args of