@@ -17,6 +17,7 @@ const (
1717 Server Mode = 1 << iota
1818 Test
1919 Version
20+ Usage
2021)
2122
2223var pattern = "/mse6/"
@@ -29,7 +30,9 @@ func main() {
2930 waitSecs := flag .Int ("w" , 3 , "wait time for server to respond in seconds" )
3031 tlsMode := flag .Bool ("s" , false , "self signed tls mode" )
3132 tM := flag .Bool ("t" , false , "server self test" )
33+ h := flag .Bool ("h" , false , "print usage instructions" )
3234 vM := flag .Bool ("v" , false , "print the server version" )
35+ flag .Usage = printUsage
3336 flag .Parse ()
3437
3538 pattern = parsePrefix (* u )
@@ -40,6 +43,9 @@ func main() {
4043 if * vM {
4144 mode = Version
4245 }
46+ if * h {
47+ mode = Usage
48+ }
4349
4450 switch mode {
4551 case Server :
@@ -48,6 +54,8 @@ func main() {
4854 printSelftest (* port )
4955 case Version :
5056 printVersion ()
57+ case Usage :
58+ printUsage ()
5159 }
5260}
5361
@@ -69,14 +77,17 @@ func parsePrefix(s string) string {
6977
7078func printVersion () {
7179 fmt .Printf ("mse6 %s\n " , mse6 .Version )
72- os .Exit (0 )
80+ }
81+
82+ func printUsage () {
83+ printVersion ()
84+ flag .PrintDefaults ()
7385}
7486
7587func printSelftest (port int ) {
7688 _ , err := net .Listen ("tcp" , fmt .Sprintf (":%d" , port ))
7789 if err == nil {
7890 log .Info ().Msgf ("mse6 %s self test pass. port %d available" , mse6 .Version , port )
79- os .Exit (0 )
8091 } else {
8192 log .Error ().Msgf ("mse6 %s self test fail. port %d unavailable" , mse6 .Version , port )
8293 os .Exit (1 )
0 commit comments