svn commit: trunk/busybox/sysklogd

landley at busybox.net landley at busybox.net
Wed Sep 14 15:36:53 UTC 2005


Author: landley
Date: 2005-09-14 08:36:52 -0700 (Wed, 14 Sep 2005)
New Revision: 11459

Log:
Cleanup patch from tito: migrate option parsing to the bb_ functions and fix
types.


Modified:
   trunk/busybox/sysklogd/klogd.c


Changeset:
Modified: trunk/busybox/sysklogd/klogd.c
===================================================================
--- trunk/busybox/sysklogd/klogd.c	2005-09-14 15:28:15 UTC (rev 11458)
+++ trunk/busybox/sysklogd/klogd.c	2005-09-14 15:36:52 UTC (rev 11459)
@@ -113,37 +113,24 @@
 	}
 }
 
+#define OPT_LEVEL        1
+#define OPT_FOREGROUND   2
+
 extern int klogd_main(int argc, char **argv)
 {
-	/* no options, no getopt */
-	int opt;
-	int doFork = TRUE;
-	unsigned char console_log_level = -1;
+	unsigned long opt;
+	char *c_arg;
+	int console_log_level = -1;
 
 	/* do normal option parsing */
-	while ((opt = getopt(argc, argv, "c:n")) > 0) {
-		switch (opt) {
-		case 'c':
-			if ((optarg == NULL) || (optarg[1] != '\0')) {
-				bb_show_usage();
-			}
-			/* Valid levels are between 1 and 8 */
-			console_log_level = *optarg - '1';
-			if (console_log_level > 7) {
-				bb_show_usage();
-			}
-			console_log_level++;
+	opt = bb_getopt_ulflags (argc, argv, "c:n", &c_arg);
 
-			break;
-		case 'n':
-			doFork = FALSE;
-			break;
-		default:
-			bb_show_usage();
-		}
+	if (opt & OPT_LEVEL) {
+		/* Valid levels are between 1 and 8 */
+		console_log_level = bb_xgetlarg(c_arg, 10, 1, 8);
 	}
 
-	if (doFork) {
+	if (!(opt & OPT_FOREGROUND)) {
 #if defined(__uClinux__)
 		vfork_daemon_rexec(0, 1, argc, argv, "-n");
 #else /* __uClinux__ */




More information about the busybox-cvs mailing list