Module Name:    src
Committed By:   wiz
Date:           Sun Apr  7 18:48:24 UTC 2013

Modified Files:
        src/usr.sbin/sesd/srcs: sesd.c

Log Message:
Use getopt. Improve usage.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/sesd/srcs/sesd.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/sesd/srcs/sesd.c
diff -u src/usr.sbin/sesd/srcs/sesd.c:1.6 src/usr.sbin/sesd/srcs/sesd.c:1.7
--- src/usr.sbin/sesd/srcs/sesd.c:1.6	Tue Jan  4 10:10:39 2011
+++ src/usr.sbin/sesd/srcs/sesd.c	Sun Apr  7 18:48:24 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: sesd.c,v 1.6 2011/01/04 10:10:39 wiz Exp $ */
+/* $NetBSD: sesd.c,v 1.7 2013/04/07 18:48:24 wiz Exp $ */
 /* $FreeBSD: $ */
 /* $OpenBSD: $ */
 /*
@@ -57,8 +57,8 @@ main(a, v)
 	char **v;
 {
 	static const char usage[] =
-	    "usage: %s [ -d ] [ -t pollinterval ] device [ device ]\n";
-	int fd, polltime, dev, devbase, nodaemon;
+	    "usage: %s [-d] [-t pollinterval] device [...]\n";
+	int c, fd, polltime, dev, nodaemon;
 	ses_encstat sestat, *carray;
 
 	if (a < 2) {
@@ -66,34 +66,34 @@ main(a, v)
 		return (1);
 	}
 
-	devbase = 1;
-
-	if (strcmp(v[1], "-d") == 0) {
-		nodaemon = 1;
-		devbase++;
-	} else {
-		nodaemon = 0;
-	}
-
-	if (a > 2 && strcmp(v[2], "-t") == 0) {
-		devbase += 2;
-		polltime = atoi(v[3]);
-	} else {
-		polltime = 30;
-	}
+	nodaemon = 0;
+	polltime = 30;
+	while ((c = getopt(a, v, "dt:")) != -1) {
+		switch (c) {
+		case 'd':
+			nodaemon = 1;
+			break;
+		case 't':
+			polltime = atoi(optarg);
+			break;
+		default:
+			fprintf(stderr, usage, *v);
+			return (1);
+		}
+	}			 
 
 	carray = malloc(a);
 	if (carray == NULL) {
 		perror("malloc");
 		return (1);
 	}
-	for (dev = devbase; dev < a; dev++)
+	for (dev = optind; dev < a; dev++)
 		carray[dev] = (ses_encstat) -1;
 
 	/*
 	 * Check to make sure we can open all devices
 	 */
-	for (dev = devbase; dev < a; dev++) {
+	for (dev = optind; dev < a; dev++) {
 		fd = open(v[dev], O_RDWR);
 		if (fd < 0) {
 			perror(v[dev]);
@@ -118,7 +118,7 @@ main(a, v)
 	}
 
 	for (;;) {
-		for (dev = devbase; dev < a; dev++) {
+		for (dev = optind; dev < a; dev++) {
 			fd = open(v[dev], O_RDWR);
 			if (fd < 0) {
 				syslog(LOG_ERR, "%s: %m", v[dev]);

Reply via email to