From 4c978631096a97e1cd68dfe40a1583de537112c4 Mon Sep 17 00:00:00 2001
From: Denis Vlasenko <vda.linux@googlemail.com>
Date: Sat, 3 Feb 2007 03:31:13 +0000
Subject: assorted fixes for bugs found with randomconfig

---
 findutils/find.c        | 5 ++++-
 init/init.c             | 2 +-
 networking/ether-wake.c | 3 ++-
 networking/ping.c       | 2 +-
 shell/hush.c            | 8 ++++----
 5 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/findutils/find.c b/findutils/find.c
index 2decb3608..d71af9ca9 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -316,12 +316,15 @@ static int find_type(const char *type)
 }
 #endif
 
+#if ENABLE_FEATURE_FIND_PERM || ENABLE_FEATURE_FIND_MTIME \
+ || ENABLE_FEATURE_FIND_MMIN
 static const char* plus_minus_num(const char* str)
 {
 	if (*str == '-' || *str == '+')
 		str++;
 	return str;
 }
+#endif
 
 static action*** parse_params(char **argv)
 {
@@ -486,7 +489,7 @@ static action*** parse_params(char **argv)
 				ap->subst_count[i] = count_subst(ap->exec_argv[i]);
 		}
 #endif
-#ifdef ENABLE_FEATURE_FIND_USER
+#if ENABLE_FEATURE_FIND_USER
 		else if (strcmp(arg, "-user") == 0) {
 			action_user *ap;
 			if (!*++argv)
diff --git a/init/init.c b/init/init.c
index b652bc1f4..dc8752447 100644
--- a/init/init.c
+++ b/init/init.c
@@ -122,7 +122,7 @@ static struct init_action *init_action_list = NULL;
 static char console[CONSOLE_BUFF_SIZE] = CONSOLE_DEV;
 
 #if !ENABLE_SYSLOGD
-static char *log_console = VC_5;
+static const char *log_console = VC_5;
 #endif
 #if !ENABLE_DEBUG_INIT
 static sig_atomic_t got_cont = 0;
diff --git a/networking/ether-wake.c b/networking/ether-wake.c
index 7e3ef4948..f923149b9 100644
--- a/networking/ether-wake.c
+++ b/networking/ether-wake.c
@@ -107,7 +107,8 @@ static inline int get_wol_pw(const char *ethoptarg, unsigned char *wol_passwd);
 
 int ether_wake_main(int argc, char *argv[])
 {
-	char *ifname = "eth0", *pass = NULL;
+	const char *ifname = "eth0";
+	char *pass = NULL;
 	unsigned long flags;
 	unsigned char wol_passwd[6];
 	int wol_passwd_sz = 0;
diff --git a/networking/ping.c b/networking/ping.c
index 53aabb6d7..ba4f585db 100644
--- a/networking/ping.c
+++ b/networking/ping.c
@@ -190,7 +190,7 @@ int ping_main(int argc, char **argv)
 	len_and_sockaddr *lsa;
 #if ENABLE_PING6
 	sa_family_t af = AF_UNSPEC;
-	while (++argv[0][0]) == '-') {
+	while (++argv[0][0] == '-') {
 		if (argv[0][1] == '4') {
 			af = AF_INET;
 			continue;
diff --git a/shell/hush.c b/shell/hush.c
index 7bc3b9a1e..c3640ed3a 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -2795,8 +2795,8 @@ int hush_main(int argc, char **argv)
 	}
 
 	debug_printf("\nrunning script '%s'\n", argv[optind]);
-	global_argv = argv+optind;
-	global_argc = argc-optind;
+	global_argv = argv + optind;
+	global_argc = argc - optind;
 	input = xfopen(argv[optind], "r");
 	opt = parse_file_outer(input);
 
@@ -2809,8 +2809,8 @@ int hush_main(int argc, char **argv)
 		for (cur = top_vars; cur; cur = tmp) {
 			tmp = cur->next;
 			if (!cur->flg_read_only) {
-				free(cur->name);
-				free(cur->value);
+				free((char*)cur->name);
+				free((char*)cur->value);
 				free(cur);
 			}
 		}
-- 
cgit v1.2.3