From 0f48663f830c1ac68a66f4aa64cec4d0d0d5f449 Mon Sep 17 00:00:00 2001
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Date: Tue, 9 Jan 2007 17:37:32 +0000
Subject: - shrink by 26 bytes or so

---
 sysklogd/logger.c | 36 +++++++++++++++++++++---------------
 1 file changed, 21 insertions(+), 15 deletions(-)

(limited to 'sysklogd')

diff --git a/sysklogd/logger.c b/sysklogd/logger.c
index 3a4f51575..c5e17c2e5 100644
--- a/sysklogd/logger.c
+++ b/sysklogd/logger.c
@@ -63,50 +63,56 @@ static int pencode(char *s)
 	char *save;
 	int lev, fac = LOG_USER;
 
-	for (save = s; *s && *s != '.'; ++s);
+	for (save = s; *s && *s != '.'; ++s)
+		;
 	if (*s) {
 		*s = '\0';
 		fac = decode(save, facilitynames);
 		if (fac < 0)
-			bb_error_msg_and_die("unknown facility name: %s", save);
+			bb_error_msg_and_die("unknown %s name: %s", "facility", save);
 		*s++ = '.';
 	} else {
 		s = save;
 	}
 	lev = decode(s, prioritynames);
 	if (lev < 0)
-		bb_error_msg_and_die("unknown priority name: %s", save);
+		bb_error_msg_and_die("unknown %s name: %s", "priority", save);
 	return ((lev & LOG_PRIMASK) | (fac & LOG_FACMASK));
 }
 
 
 int logger_main(int argc, char **argv)
 {
-	unsigned opt;
 	char *opt_p, *opt_t;
-	int pri = LOG_USER | LOG_NOTICE;
-	int option = 0;
-	char name[80];
+	int i = 0;
+	RESERVE_CONFIG_BUFFER(name, 80);
 
 	/* Fill out the name string early (may be overwritten later) */
 	bb_getpwuid(name, geteuid(), sizeof(name));
 
 	/* Parse any options */
-	opt = getopt32(argc, argv, "p:st:", &opt_p, &opt_t);
+	getopt32(argc, argv, "p:st:", &opt_p, &opt_t);
+
+	if (option_mask32 & 0x2) /* -s */
+		i |= LOG_PERROR;
+	if (option_mask32 & 0x4) /* -t */
+		safe_strncpy(name, opt_t, sizeof(name));
+	openlog(name, i, 0);
+	if (ENABLE_FEATURE_CLEAN_UP)
+		RELEASE_CONFIG_BUFFER(name);
+	i = LOG_USER | LOG_NOTICE;
+	if (option_mask32 & 0x1) /* -p */
+		i = pencode(opt_p);
+
 	argc -= optind;
 	argv += optind;
-	if (opt & 0x1) pri = pencode(opt_p); // -p
-	if (opt & 0x2) option |= LOG_PERROR; // -s
-	if (opt & 0x4) safe_strncpy(name, opt_t, sizeof(name)); // -t
-
-	openlog(name, option, 0);
 	if (!argc) {
 		while (fgets(bb_common_bufsiz1, BUFSIZ, stdin)) {
 			if (bb_common_bufsiz1[0]
 			 && NOT_LONE_CHAR(bb_common_bufsiz1, '\n')
 			) {
 				/* Neither "" nor "\n" */
-				syslog(pri, "%s", bb_common_bufsiz1);
+				syslog(i, "%s", bb_common_bufsiz1);
 			}
 		}
 	} else {
@@ -119,7 +125,7 @@ int logger_main(int argc, char **argv)
 			sprintf(message + pos, " %s", *argv),
 			pos = len;
 		} while (*++argv);
-		syslog(pri, "%s", message + 1); /* skip leading " " */
+		syslog(i, "%s", message + 1); /* skip leading " " */
 	}
 
 	closelog();
-- 
cgit v1.2.3