Module Name:    src
Committed By:   pgoyette
Date:           Sat Jul 30 12:33:27 UTC 2016

Modified Files:
        src/usr.sbin/fssconfig: fssconfig.c

Log Message:
Update command line parsing to match reality.  Only one of -c, -u, or
-l can be specified, and the -x option is available only for -c.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/fssconfig/fssconfig.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/fssconfig/fssconfig.c
diff -u src/usr.sbin/fssconfig/fssconfig.c:1.10 src/usr.sbin/fssconfig/fssconfig.c:1.11
--- src/usr.sbin/fssconfig/fssconfig.c:1.10	Sun Nov  4 22:21:11 2012
+++ src/usr.sbin/fssconfig/fssconfig.c	Sat Jul 30 12:33:27 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: fssconfig.c,v 1.10 2012/11/04 22:21:11 christos Exp $	*/
+/*	$NetBSD: fssconfig.c,v 1.11 2016/07/30 12:33:27 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -60,18 +60,27 @@ main(int argc, char **argv)
 	int ch;
 	void (*action)(int, char **);
 
-	action = config;
+	action = NULL;
 
 	while ((ch = getopt(argc, argv, "cluvx")) != -1) {
 		switch (ch) {
 		case 'c':
-			action = config;
+			if (action)
+				usage();
+			else
+				action = config;
 			break;
 		case 'l':
-			action = list;
+			if (action)
+				usage();
+			else
+				action = list;
 			break;
 		case 'u':
-			action = unconfig;
+			if (action)
+				usage();
+			else
+				action = unconfig;
 			break;
 		case 'v':
 			vflag++;
@@ -85,6 +94,8 @@ main(int argc, char **argv)
 			/* NOTREACHED */
 		}
 	}
+	if (action == NULL)
+		action = config;
 
 	argc -= optind;
 	argv += optind;
@@ -189,7 +200,7 @@ unconfig(int argc, char **argv)
 	int fd;
 	char full[64];
 
-	if (argc != 1)
+	if (argc != 1 || xflag)
 		usage();
 
 	if (vflag)
@@ -211,7 +222,7 @@ list(int argc, char **argv)
 	time_t t;
 	struct fss_get fsg;
 
-	if (argc > 1)
+	if (argc > 1 || xflag)
 		usage();
 
 	if (argc > 0) 

Reply via email to