sync-mht-0.3.0.0: src/main/hs/Main.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
import System.Environment
import System.IO.Error
import System.Console.GetOpt
import Sync.MerkleTree.Run
main :: IO ()
main = flip catchIOError (putError . show) $
do args <- getArgs
let parsedOpts = getOpt (ReturnInOrder parseNonOption) optDescriptions args
case () of
() | [_HIDDENT_CLIENT_MODE_OPTION_] == args -> runChild
| (options,[],[]) <- parsedOpts -> run $ toSyncOptions options
| (_,_,errs) <- parsedOpts -> printUsageInfo errs