random small shrinkage and elimination of statics
diff --git a/archival/libunarchive/get_header_ar.c b/archival/libunarchive/get_header_ar.c
index c691f1b..88c0220 100644
--- a/archival/libunarchive/get_header_ar.c
+++ b/archival/libunarchive/get_header_ar.c
@@ -23,9 +23,9 @@
 			char magic[2];
 		} formatted;
 	} ar;
-#ifdef CONFIG_FEATURE_AR_LONG_FILENAMES
+#if ENABLE_FEATURE_AR_LONG_FILENAMES
 	static char *ar_long_names;
-	static unsigned int ar_long_name_size;
+	static unsigned ar_long_name_size;
 #endif
 
 	/* dont use xread as we want to handle the error ourself */
diff --git a/include/libbb.h b/include/libbb.h
index dca611b..764d707 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -604,7 +604,7 @@
 	LOGMODE_BOTH = LOGMODE_SYSLOG + LOGMODE_STDIO,
 };
 extern const char *msg_eol;
-extern int logmode;
+extern smallint logmode;
 extern int die_sleep;
 extern int xfunc_error_retval;
 extern void sleep_and_die(void) ATTRIBUTE_NORETURN;
diff --git a/libbb/verror_msg.c b/libbb/verror_msg.c
index 0f018c5..526b9d3 100644
--- a/libbb/verror_msg.c
+++ b/libbb/verror_msg.c
@@ -10,7 +10,7 @@
 #include "libbb.h"
 #include <syslog.h>
 
-int logmode = LOGMODE_STDIO;
+smallint logmode = LOGMODE_STDIO;
 const char *msg_eol = "\n";
 
 void bb_verror_msg(const char *s, va_list p, const char* strerr)
diff --git a/networking/isrv_identd.c b/networking/isrv_identd.c
index c230c7e..59daf99 100644
--- a/networking/isrv_identd.c
+++ b/networking/isrv_identd.c
@@ -19,7 +19,7 @@
 	char buf[64 - 2*sizeof(int)];
 } identd_buf_t;
 
-static const char *bogouser = "nobody";
+#define bogouser bb_common_bufsiz1
 
 static int new_peer(isrv_state_t *state, int fd)
 {
@@ -108,8 +108,9 @@
 	int fd;
 
 	opt = getopt32(argc, argv, "fiwb:", &bind_address);
-	if (optind < argc)
-		bogouser = argv[optind];
+	strcpy(bogouser, "nobody");
+	if (argv[optind])
+		strncpy(bogouser, argv[optind], sizeof(bogouser));
 
 	/* Daemonize if no -f and no -i and no -w */
 	if (!(opt & OPT_fiw));