more of -Wall fixes from Cristian Ionescu-Idbohrn.
Some are fixing real bugs.
function old new delta
syslogd_main 938 958 +20
get_signum 136 143 +7
obj_load 777 782 +5
recv_from_to 210 214 +4
get_next_block 1795 1799 +4
display_topmem_process_list 1117 1121 +4
logread_main 484 487 +3
buffer_fill_and_print 73 76 +3
kill_main 687 689 +2
ll_remember_index 240 241 +1
do_stats 452 453 +1
if_readconf 166 165 -1
display_process_list 1192 1191 -1
run_applet_and_exit 507 505 -2
print_signames 33 31 -2
parse_one_line 1092 1090 -2
find_out_spec 57 55 -2
add_ksymoops_symbols 421 419 -2
ash_main 1407 1402 -5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 11/8 up/down: 54/-17) Total: 37 bytes
diff --git a/networking/arping.c b/networking/arping.c
index 9d2c671..2db2ff4 100644
--- a/networking/arping.c
+++ b/networking/arping.c
@@ -174,7 +174,7 @@
if (ah->ar_pro != htons(ETH_P_IP)
|| (ah->ar_pln != 4)
|| (ah->ar_hln != me.sll_halen)
- || (len < sizeof(*ah) + 2 * (4 + ah->ar_hln)))
+ || (len < (int)(sizeof(*ah) + 2 * (4 + ah->ar_hln))))
return false;
memcpy(&src_ip, p + ah->ar_hln, 4);
diff --git a/networking/httpd.c b/networking/httpd.c
index 6fd322c..f835d80 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -600,7 +600,7 @@
#if ENABLE_FEATURE_HTTPD_ERROR_PAGES
if (flag == FIRST_PARSE && *p0 == 'E') {
- int i;
+ unsigned i;
/* error status code */
int status = atoi(++p0);
/* c already points at the character following ':' in parse loop */
diff --git a/networking/ifenslave.c b/networking/ifenslave.c
index 0aa2320..983d9d0 100644
--- a/networking/ifenslave.c
+++ b/networking/ifenslave.c
@@ -604,7 +604,7 @@
struct ifreq ifr;
int res;
- int i;
+ unsigned i;
for (i = 0; i < ARRAY_SIZE(ifra); i++) {
strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname);
diff --git a/networking/ifupdown.c b/networking/ifupdown.c
index 50b9626..c123918 100644
--- a/networking/ifupdown.c
+++ b/networking/ifupdown.c
@@ -486,7 +486,7 @@
#if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
{
- int i;
+ unsigned i;
#if ENABLE_FEATURE_IFUPDOWN_IP
/* ip doesn't up iface when it configures it (unlike ifconfig) */
if (!execute("ip link set %iface% up", ifd, exec))
@@ -522,7 +522,7 @@
#if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
static int dhcp_down(struct interface_defn_t *ifd, execfn *exec)
{
- int i;
+ unsigned i;
for (i = 0; i < ARRAY_SIZE(ext_dhcp_clients); i++) {
if (exists_execable(ext_dhcp_clients[i].name))
return execute(ext_dhcp_clients[i].stopcmd, ifd, exec);
@@ -1154,7 +1154,7 @@
char *liface;
char *pch;
bool okay = 0;
- unsigned cmds_ret;
+ int cmds_ret;
iface = xstrdup(target_list->data);
target_list = target_list->link;
diff --git a/networking/inetd.c b/networking/inetd.c
index d71a115..3be9dcb 100644
--- a/networking/inetd.c
+++ b/networking/inetd.c
@@ -750,7 +750,7 @@
if (*p == '-') {
p++;
n = bb_strtou(p, &p, 10);
- if (n > INT_MAX || n < sep->se_rpcver_lo)
+ if (n > INT_MAX || (int)n < sep->se_rpcver_lo)
goto bad_ver_spec;
sep->se_rpcver_hi = n;
}
@@ -812,7 +812,7 @@
&& (sep->se_socktype == SOCK_STREAM
|| sep->se_socktype == SOCK_DGRAM)
) {
- int i;
+ unsigned i;
for (i = 0; i < ARRAY_SIZE(builtins); i++)
if (strncmp(builtins[i].bi_service7, sep->se_service, 7) == 0)
goto found_bi;
diff --git a/networking/interface.c b/networking/interface.c
index ee8ab10..a24ab01 100644
--- a/networking/interface.c
+++ b/networking/interface.c
@@ -525,7 +525,7 @@
if (ioctl_or_warn(skfd, SIOCGIFCONF, &ifc) < 0) {
goto out;
}
- if (ifc.ifc_len == sizeof(struct ifreq) * numreqs) {
+ if (ifc.ifc_len == (int)(sizeof(struct ifreq) * numreqs)) {
/* assume it overflowed and try again */
numreqs += 10;
continue;
@@ -862,7 +862,7 @@
/* return 1 if address is all zeros */
static int hw_null_address(const struct hwtype *hw, void *ap)
{
- unsigned int i;
+ int i;
unsigned char *address = (unsigned char *) ap;
for (i = 0; i < hw->alen; i++)
diff --git a/networking/isrv_identd.c b/networking/isrv_identd.c
index a96ac60..3e05632 100644
--- a/networking/isrv_identd.c
+++ b/networking/isrv_identd.c
@@ -61,7 +61,7 @@
p = strpbrk(cur, "\r\n");
if (p)
*p = '\0';
- if (!p && sz && buf->pos <= sizeof(buf->buf))
+ if (!p && sz && buf->pos <= (int)sizeof(buf->buf))
goto ok;
/* Terminate session. If we are in server mode, then
* fd is still in nonblocking mode - we never block here */
diff --git a/networking/libiproute/libnetlink.c b/networking/libiproute/libnetlink.c
index d29d035..47a055a 100644
--- a/networking/libiproute/libnetlink.c
+++ b/networking/libiproute/libnetlink.c
@@ -265,7 +265,7 @@
if (msg.msg_namelen != sizeof(nladdr)) {
bb_error_msg_and_die("sender address length == %d", msg.msg_namelen);
}
- for (h = (struct nlmsghdr*)buf; status >= sizeof(*h); ) {
+ for (h = (struct nlmsghdr*)buf; status >= (int)sizeof(*h); ) {
// int l_err;
int len = h->nlmsg_len;
int l = len - sizeof(*h);
@@ -293,7 +293,7 @@
if (h->nlmsg_type == NLMSG_ERROR) {
struct nlmsgerr *err = (struct nlmsgerr*)NLMSG_DATA(h);
- if (l < sizeof(struct nlmsgerr)) {
+ if (l < (int)sizeof(struct nlmsgerr)) {
bb_error_msg("ERROR truncated");
} else {
errno = - err->error;
@@ -336,7 +336,7 @@
{
int len = RTA_LENGTH(4);
struct rtattr *rta;
- if (NLMSG_ALIGN(n->nlmsg_len) + len > maxlen)
+ if ((int)(NLMSG_ALIGN(n->nlmsg_len) + len) > maxlen)
return -1;
rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
rta->rta_type = type;
@@ -351,7 +351,7 @@
int len = RTA_LENGTH(alen);
struct rtattr *rta;
- if (NLMSG_ALIGN(n->nlmsg_len) + len > maxlen)
+ if ((int)(NLMSG_ALIGN(n->nlmsg_len) + len) > maxlen)
return -1;
rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
rta->rta_type = type;
diff --git a/networking/libiproute/ll_map.c b/networking/libiproute/ll_map.c
index 3cfc9cc..031b29a 100644
--- a/networking/libiproute/ll_map.c
+++ b/networking/libiproute/ll_map.c
@@ -75,7 +75,7 @@
if (tb[IFLA_ADDRESS]) {
int alen;
im->alen = alen = RTA_PAYLOAD(tb[IFLA_ADDRESS]);
- if (alen > sizeof(im->addr))
+ if (alen > (int)sizeof(im->addr))
alen = sizeof(im->addr);
memcpy(im->addr, RTA_DATA(tb[IFLA_ADDRESS]), alen);
} else {
diff --git a/networking/libiproute/ll_proto.c b/networking/libiproute/ll_proto.c
index 62262c9..8d96374 100644
--- a/networking/libiproute/ll_proto.c
+++ b/networking/libiproute/ll_proto.c
@@ -98,10 +98,8 @@
const char *ll_proto_n2a(unsigned short id, char *buf, int len)
{
- int i;
-
+ unsigned i;
id = ntohs(id);
-
for (i = 0; i < ARRAY_SIZE(llproto_names); i++) {
if (llproto_names[i].id == id)
return llproto_names[i].name;
@@ -112,7 +110,7 @@
int ll_proto_a2n(unsigned short *id, char *buf)
{
- int i;
+ unsigned i;
for (i = 0; i < ARRAY_SIZE(llproto_names); i++) {
if (strcasecmp(llproto_names[i].name, buf) == 0) {
*id = htons(llproto_names[i].id);
diff --git a/networking/libiproute/ll_types.c b/networking/libiproute/ll_types.c
index 60a78c7..50c9f20 100644
--- a/networking/libiproute/ll_types.c
+++ b/networking/libiproute/ll_types.c
@@ -187,7 +187,7 @@
#endif /* FEATURE_IP_RARE_PROTOCOLS */
};
- int i;
+ unsigned i;
const char *aname = arphrd_name;
for (i = 0; i < ARRAY_SIZE(arphrd_type); i++) {
if (arphrd_type[i] == type)
diff --git a/networking/sendmail.c b/networking/sendmail.c
index f37d97f..027656d 100644
--- a/networking/sendmail.c
+++ b/networking/sendmail.c
@@ -187,7 +187,7 @@
bb_error_msg_and_die("%s failed", msg);
}
-static int inline smtp_check(const char *fmt, int code)
+static inline int smtp_check(const char *fmt, int code)
{
return smtp_checkp(fmt, NULL, code);
}
@@ -224,7 +224,7 @@
bb_error_msg_and_die("%s failed", msg);
}
-static void inline pop3_check(const char *fmt, const char *param)
+static inline void pop3_check(const char *fmt, const char *param)
{
pop3_checkr(fmt, param, NULL);
}
diff --git a/networking/traceroute.c b/networking/traceroute.c
index c0b4a3f..e9df275 100644
--- a/networking/traceroute.c
+++ b/networking/traceroute.c
@@ -413,7 +413,7 @@
ifc.ifc_buf = (caddr_t)ibuf;
if (ioctl(fd, SIOCGIFCONF, (char *)&ifc) < 0
- || ifc.ifc_len < sizeof(struct ifreq)
+ || ifc.ifc_len < (int)sizeof(struct ifreq)
) {
if (errno == EINVAL)
bb_error_msg_and_die(
diff --git a/networking/udhcp/files.c b/networking/udhcp/files.c
index b13367d..58498f9 100644
--- a/networking/udhcp/files.c
+++ b/networking/udhcp/files.c
@@ -319,7 +319,7 @@
{
FILE *in;
char buffer[READ_CONFIG_BUF_SIZE], *token, *line;
- int i, lineno;
+ unsigned i, lineno;
for (i = 0; i < KWS_WITH_DEFAULTS; i++)
keywords[i].handler(keywords[i].def, keywords[i].var);
@@ -344,7 +344,7 @@
for (i = 0; i < ARRAY_SIZE(keywords); i++) {
if (!strcasecmp(token, keywords[i].keyword)) {
if (!keywords[i].handler(line, keywords[i].var)) {
- bb_error_msg("can't parse line %d in %s at '%s'",
+ bb_error_msg("can't parse line %u in %s at '%s'",
lineno, file, line);
/* reset back to the default value */
keywords[i].handler(keywords[i].def, keywords[i].var);
diff --git a/networking/zcip.c b/networking/zcip.c
index 8db840c..fccb1a4 100644
--- a/networking/zcip.c
+++ b/networking/zcip.c
@@ -162,7 +162,7 @@
/**
* Return milliseconds of random delay, up to "secs" seconds.
*/
-static unsigned ALWAYS_INLINE random_delay_ms(unsigned secs)
+static ALWAYS_INLINE unsigned random_delay_ms(unsigned secs)
{
return rand() % (secs * 1000);
}