Implement optional syslog logging using ordinary
bb_xx_msg calls, and convert networking/* to it.
The rest of bbox will be converted gradually.

diff --git a/networking/nameif.c b/networking/nameif.c
index 501e244..3fa2572 100644
--- a/networking/nameif.c
+++ b/networking/nameif.c
@@ -41,29 +41,6 @@
 	struct ether_addr *mac;
 } mactable_t;
 
-static unsigned long flags;
-
-static void serror(const char *s, ...) ATTRIBUTE_NORETURN;
-
-static void serror(const char *s, ...)
-{
-	va_list ap;
-
-	va_start(ap, s);
-
-	if (flags & 1) {
-		openlog(bb_applet_name, 0, LOG_LOCAL0);
-		vsyslog(LOG_ERR, s, ap);
-		closelog();
-	} else {
-		bb_verror_msg(s, ap);
-		putc('\n', stderr);
-	}
-	va_end(ap);
-
-	exit(EXIT_FAILURE);
-}
-
 /* Check ascii str_macaddr, convert and copy to *mac */
 static struct ether_addr *cc_macaddr(const char *str_macaddr)
 {
@@ -71,7 +48,7 @@
 
 	lmac = ether_aton(str_macaddr);
 	if (lmac == NULL)
-		serror("cannot parse MAC %s", str_macaddr);
+		bb_error_msg_and_die("cannot parse MAC %s", str_macaddr);
 	mac = xmalloc(ETH_ALEN);
 	memcpy(mac, lmac, ETH_ALEN);
 
@@ -88,7 +65,10 @@
 	int if_index = 1;
 	mactable_t *ch;
 
-	flags = bb_getopt_ulflags(argc, argv, "sc:", &fname);
+	if (1 & bb_getopt_ulflags(argc, argv, "sc:", &fname)) {
+		openlog(bb_applet_name, 0, LOG_LOCAL0);
+		logmode = LOGMODE_SYSLOG;
+	}
 
 	if ((argc - optind) & 1)
 		bb_show_usage();
@@ -97,9 +77,9 @@
 		char **a = argv + optind;
 
 		while (*a) {
-
 			if (strlen(*a) > IF_NAMESIZE)
-				serror("interface name `%s' too long", *a);
+				bb_error_msg_and_die("interface name `%s' "
+					    "too long", *a);
 			ch = xzalloc(sizeof(mactable_t));
 			ch->ifname = xstrdup(*a++);
 			ch->mac = cc_macaddr(*a++);
@@ -124,7 +104,8 @@
 			ch = xzalloc(sizeof(mactable_t));
 			ch->ifname = xstrndup(line_ptr, name_length);
 			if (name_length > IF_NAMESIZE)
-				serror("interface name `%s' too long", ch->ifname);
+				bb_error_msg_and_die("interface name `%s' "
+						"too long", ch->ifname);
 			line_ptr += name_length;
 			line_ptr += strspn(line_ptr, " \t");
 			name_length = strspn(line_ptr, "0123456789ABCDEFabcdef:");
@@ -139,8 +120,7 @@
 		fclose(ifh);
 	}
 
-	if ((ctl_sk = socket(PF_INET, SOCK_DGRAM, 0)) == -1)
-		serror("socket: %m");
+	ctl_sk = xsocket(PF_INET, SOCK_DGRAM, 0);
 
 	while (clist) {
 		struct ifreq ifr;
@@ -168,7 +148,7 @@
 
 		strcpy(ifr.ifr_newname, ch->ifname);
 		if (ioctl(ctl_sk, SIOCSIFNAME, &ifr) < 0)
-			serror("cannot change ifname %s to %s: %m",
+			bb_perror_msg_and_die("cannot change ifname %s to %s",
 				   ifr.ifr_name, ch->ifname);
 
 		/* Remove list entry of renamed interface */