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
This commit is contained in:
Denis Vlasenko 2008-05-15 21:30:45 +00:00
parent 43d5d429fd
commit 6b06cb80be
43 changed files with 113 additions and 110 deletions

View File

@ -12,7 +12,7 @@ ssize_t archive_xread_all_eof(archive_handle_t *archive_handle,
ssize_t size; ssize_t size;
size = full_read(archive_handle->src_fd, buf, count); size = full_read(archive_handle->src_fd, buf, count);
if (size != 0 && size != count) { if (size != 0 && size != (ssize_t)count) {
bb_error_msg_and_die("short read: %u of %u", bb_error_msg_and_die("short read: %u of %u",
(unsigned)size, (unsigned)count); (unsigned)size, (unsigned)count);
} }

View File

@ -103,7 +103,7 @@ static unsigned get_bits(bunzip_data *bd, int bits_wanted)
/* If we need to get more data from the byte buffer, do so. (Loop getting /* If we need to get more data from the byte buffer, do so. (Loop getting
one byte at a time to enforce endianness and avoid unaligned access.) */ one byte at a time to enforce endianness and avoid unaligned access.) */
while (bd->inbufBitCount < bits_wanted) { while ((int)(bd->inbufBitCount) < bits_wanted) {
/* If we need to read more data from file into byte buffer, do so */ /* If we need to read more data from file into byte buffer, do so */
@ -172,7 +172,7 @@ static int get_next_block(bunzip_data *bd)
if (get_bits(bd, 1)) return RETVAL_OBSOLETE_INPUT; if (get_bits(bd, 1)) return RETVAL_OBSOLETE_INPUT;
origPtr = get_bits(bd, 24); origPtr = get_bits(bd, 24);
if (origPtr > dbufSize) return RETVAL_DATA_ERROR; if ((int)origPtr > dbufSize) return RETVAL_DATA_ERROR;
/* mapping table: if some byte values are never used (encoding things /* mapping table: if some byte values are never used (encoding things
like ascii text), the compression code removes the gaps to have fewer like ascii text), the compression code removes the gaps to have fewer
@ -368,7 +368,7 @@ static int get_next_block(bunzip_data *bd)
j = get_bits(bd, hufGroup->maxLen); j = get_bits(bd, hufGroup->maxLen);
*/ */
while (bd->inbufBitCount < hufGroup->maxLen) { while ((int)(bd->inbufBitCount) < hufGroup->maxLen) {
if (bd->inbufPos == bd->inbufCount) { if (bd->inbufPos == bd->inbufCount) {
j = get_bits(bd, hufGroup->maxLen); j = get_bits(bd, hufGroup->maxLen);
goto got_huff_bits; goto got_huff_bits;
@ -505,7 +505,7 @@ static int get_next_block(bunzip_data *bd)
it doesn't qualify as a run (hence writeRunCountdown=5). */ it doesn't qualify as a run (hence writeRunCountdown=5). */
if (dbufCount) { if (dbufCount) {
if (origPtr >= dbufCount) return RETVAL_DATA_ERROR; if ((int)origPtr >= dbufCount) return RETVAL_DATA_ERROR;
bd->writePos = dbuf[origPtr]; bd->writePos = dbuf[origPtr];
bd->writeCurrent = (unsigned char)(bd->writePos & 0xff); bd->writeCurrent = (unsigned char)(bd->writePos & 0xff);
bd->writePos >>= 8; bd->writePos >>= 8;

View File

@ -329,7 +329,7 @@ unpack_lzma_stream(int src_fd, int dst_fd)
if (buffer_pos == header.dict_size) { if (buffer_pos == header.dict_size) {
buffer_pos = 0; buffer_pos = 0;
global_pos += header.dict_size; global_pos += header.dict_size;
if (full_write(dst_fd, buffer, header.dict_size) != header.dict_size) if (full_write(dst_fd, buffer, header.dict_size) != (ssize_t)header.dict_size)
goto bad; goto bad;
USE_DESKTOP(total_written += header.dict_size;) USE_DESKTOP(total_written += header.dict_size;)
} }
@ -480,7 +480,7 @@ unpack_lzma_stream(int src_fd, int dst_fd)
if (buffer_pos == header.dict_size) { if (buffer_pos == header.dict_size) {
buffer_pos = 0; buffer_pos = 0;
global_pos += header.dict_size; global_pos += header.dict_size;
if (full_write(dst_fd, buffer, header.dict_size) != header.dict_size) if (full_write(dst_fd, buffer, header.dict_size) != (ssize_t)header.dict_size)
goto bad; goto bad;
USE_DESKTOP(total_written += header.dict_size;) USE_DESKTOP(total_written += header.dict_size;)
} }
@ -489,7 +489,7 @@ unpack_lzma_stream(int src_fd, int dst_fd)
} }
} }
if (full_write(dst_fd, buffer, buffer_pos) != buffer_pos) { if (full_write(dst_fd, buffer, buffer_pos) != (ssize_t)buffer_pos) {
bad: bad:
rc_free(rc); rc_free(rc);
return -1; return -1;

View File

@ -922,7 +922,7 @@ static int inflate_block(STATE_PARAM smallint *e)
/* Two callsites, both in inflate_get_next_window */ /* Two callsites, both in inflate_get_next_window */
static void calculate_gunzip_crc(STATE_PARAM_ONLY) static void calculate_gunzip_crc(STATE_PARAM_ONLY)
{ {
int n; unsigned n;
for (n = 0; n < gunzip_outbuf_count; n++) { for (n = 0; n < gunzip_outbuf_count; n++) {
gunzip_crc = gunzip_crc_table[((int) gunzip_crc ^ (gunzip_window[n])) & 0xff] ^ (gunzip_crc >> 8); gunzip_crc = gunzip_crc_table[((int) gunzip_crc ^ (gunzip_window[n])) & 0xff] ^ (gunzip_crc >> 8);
} }
@ -1003,7 +1003,7 @@ inflate_unzip_internal(STATE_PARAM int in, int out)
while (1) { while (1) {
int r = inflate_get_next_window(PASS_STATE_ONLY); int r = inflate_get_next_window(PASS_STATE_ONLY);
nwrote = full_write(out, gunzip_window, gunzip_outbuf_count); nwrote = full_write(out, gunzip_window, gunzip_outbuf_count);
if (nwrote != gunzip_outbuf_count) { if (nwrote != (ssize_t)gunzip_outbuf_count) {
bb_perror_msg("write"); bb_perror_msg("write");
n = -1; n = -1;
goto ret; goto ret;
@ -1064,7 +1064,7 @@ static int top_up(STATE_PARAM unsigned n)
{ {
int count = bytebuffer_size - bytebuffer_offset; int count = bytebuffer_size - bytebuffer_offset;
if (count < n) { if (count < (int)n) {
memmove(bytebuffer, &bytebuffer[bytebuffer_offset], count); memmove(bytebuffer, &bytebuffer[bytebuffer_offset], count);
bytebuffer_offset = 0; bytebuffer_offset = 0;
bytebuffer_size = full_read(gunzip_src_fd, &bytebuffer[count], bytebuffer_max - count); bytebuffer_size = full_read(gunzip_src_fd, &bytebuffer[count], bytebuffer_max - count);

View File

@ -1367,7 +1367,7 @@ extern const char bb_default_login_shell[];
#undef isdigit #undef isdigit
#define isdigit(a) ((unsigned)((a) - '0') <= 9) #define isdigit(a) ((unsigned)((a) - '0') <= 9)
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) #define ARRAY_SIZE(x) ((unsigned)(sizeof(x) / sizeof((x)[0])))
#if __GNUC_PREREQ(4,1) #if __GNUC_PREREQ(4,1)

View File

@ -598,7 +598,7 @@ static void install_links(const char *busybox, int use_symbolic_links)
int (*lf)(const char *, const char *); int (*lf)(const char *, const char *);
char *fpc; char *fpc;
int i; unsigned i;
int rc; int rc;
lf = link; lf = link;

View File

@ -199,7 +199,7 @@ static void cmdedit_set_out_char(int next_char)
{ {
bb_putchar(c); bb_putchar(c);
} }
if (++cmdedit_x >= cmdedit_termw) { if (++cmdedit_x >= (int)cmdedit_termw) {
/* terminal is scrolled down */ /* terminal is scrolled down */
cmdedit_y++; cmdedit_y++;
cmdedit_x = 0; cmdedit_x = 0;
@ -861,7 +861,8 @@ static void input_tab(smallint *lastWasTab)
exe_n_cwd_tab_completion(matchBuf, find_type); exe_n_cwd_tab_completion(matchBuf, find_type);
/* Sort, then remove any duplicates found */ /* Sort, then remove any duplicates found */
if (matches) { if (matches) {
int i, n = 0; unsigned i;
int n = 0;
qsort_string_vector(matches, num_matches); qsort_string_vector(matches, num_matches);
for (i = 0; i < num_matches - 1; ++i) { for (i = 0; i < num_matches - 1; ++i) {
if (matches[i] && matches[i+1]) { /* paranoia */ if (matches[i] && matches[i+1]) { /* paranoia */

View File

@ -123,14 +123,14 @@ static const char signals[][7] = {
int get_signum(const char *name) int get_signum(const char *name)
{ {
int i; unsigned i;
i = bb_strtou(name, NULL, 10); i = bb_strtou(name, NULL, 10);
if (!errno) if (!errno)
return i; return i;
if (strncasecmp(name, "SIG", 3) == 0) if (strncasecmp(name, "SIG", 3) == 0)
name += 3; name += 3;
for (i = 0; (size_t)i < ARRAY_SIZE(signals); i++) for (i = 0; i < ARRAY_SIZE(signals); i++)
if (strcasecmp(name, signals[i]) == 0) if (strcasecmp(name, signals[i]) == 0)
return i; return i;
@ -170,9 +170,9 @@ const char *get_signame(int number)
void print_signames(void) void print_signames(void)
{ {
int signo; unsigned signo;
for (signo = 1; (size_t)signo < ARRAY_SIZE(signals); signo++) { for (signo = 1; signo < ARRAY_SIZE(signals); signo++) {
const char *name = signals[signo]; const char *name = signals[signo];
if (name[0]) if (name[0])
puts(name); puts(name);

View File

@ -113,7 +113,7 @@ recv_from_to(int fd, void *buf, size_t len, int flags,
} u; } u;
struct cmsghdr *cmsgptr; struct cmsghdr *cmsgptr;
struct msghdr msg; struct msghdr msg;
socklen_t recv_length; ssize_t recv_length;
iov[0].iov_base = buf; iov[0].iov_base = buf;
iov[0].iov_len = len; iov[0].iov_len = len;

View File

@ -479,7 +479,7 @@ static char *get_logname(char *logname, unsigned size_logname,
default: default:
if (!isascii(ascval) || !isprint(ascval)) { if (!isascii(ascval) || !isprint(ascval)) {
/* ignore garbage characters */ /* ignore garbage characters */
} else if (bp - logname >= size_logname - 1) { } else if ((int)(bp - logname) >= size_logname - 1) {
bb_error_msg_and_die("%s: input overrun", op->tty); bb_error_msg_and_die("%s: input overrun", op->tty);
} else { } else {
full_write(1, &c, 1); /* echo the character */ full_write(1, &c, 1); /* echo the character */

View File

@ -423,7 +423,7 @@ static char *ParseField(char *user, char *ary, int modvalue, int off,
static void FixDayDow(CronLine *line) static void FixDayDow(CronLine *line)
{ {
size_t i; unsigned i;
int weekUsed = 0; int weekUsed = 0;
int daysUsed = 0; int daysUsed = 0;

View File

@ -1486,7 +1486,8 @@ static const char xfermode_name[][5] ALIGN1 = {
static int translate_xfermode(const char *name) static int translate_xfermode(const char *name)
{ {
int val, i; int val;
unsigned i;
for (i = 0; i < ARRAY_SIZE(xfermode_val); i++) { for (i = 0; i < ARRAY_SIZE(xfermode_val); i++) {
if (!strncmp(name, xfermode_name[i], 5)) if (!strncmp(name, xfermode_name[i], 5))

View File

@ -297,7 +297,7 @@ static void read_lines(void)
new_linepos += 7; new_linepos += 7;
new_linepos &= (~7); new_linepos &= (~7);
} }
if (new_linepos >= w) if ((int)new_linepos >= w)
break; break;
linepos = new_linepos; linepos = new_linepos;
} }
@ -415,7 +415,7 @@ static void m_status_print(void)
printf(" lines %i-%i/%i ", printf(" lines %i-%i/%i ",
cur_fline + 1, cur_fline + max_displayed_line + 1, cur_fline + 1, cur_fline + max_displayed_line + 1,
max_fline + 1); max_fline + 1);
if (cur_fline >= max_fline - max_displayed_line) { if (cur_fline >= (int)(max_fline - max_displayed_line)) {
printf("(END)"NORMAL); printf("(END)"NORMAL);
if (num_files > 1 && current_file != num_files) if (num_files > 1 && current_file != num_files)
printf(HIGHLIGHT" - next: %s"NORMAL, files[current_file]); printf(HIGHLIGHT" - next: %s"NORMAL, files[current_file]);
@ -444,7 +444,7 @@ static void status_print(void)
#endif #endif
clear_line(); clear_line();
if (cur_fline && cur_fline < max_fline - max_displayed_line) { if (cur_fline && cur_fline < (int)(max_fline - max_displayed_line)) {
bb_putchar(':'); bb_putchar(':');
return; return;
} }
@ -587,7 +587,7 @@ static void print_ascii(const char *str)
/* Print the buffer */ /* Print the buffer */
static void buffer_print(void) static void buffer_print(void)
{ {
int i; unsigned i;
move_cursor(0, 0); move_cursor(0, 0);
for (i = 0; i <= max_displayed_line; i++) for (i = 0; i <= max_displayed_line; i++)
@ -600,7 +600,7 @@ static void buffer_print(void)
static void buffer_fill_and_print(void) static void buffer_fill_and_print(void)
{ {
int i; unsigned i;
for (i = 0; i <= max_displayed_line && cur_fline + i <= max_fline; i++) { for (i = 0; i <= max_displayed_line && cur_fline + i <= max_fline; i++) {
buffer[i] = flines[cur_fline + i]; buffer[i] = flines[cur_fline + i];
} }
@ -662,7 +662,7 @@ static void open_file_and_read_lines(void)
/* Reinitialize everything for a new file - free the memory and start over */ /* Reinitialize everything for a new file - free the memory and start over */
static void reinitialize(void) static void reinitialize(void)
{ {
int i; unsigned i;
if (flines) { if (flines) {
for (i = 0; i <= max_fline; i++) for (i = 0; i <= max_fline; i++)
@ -763,7 +763,7 @@ static int less_getch(int pos)
static char* less_gets(int sz) static char* less_gets(int sz)
{ {
char c; char c;
int i = 0; unsigned i = 0;
char *result = xzalloc(1); char *result = xzalloc(1);
while (1) { while (1) {
@ -836,7 +836,7 @@ static void change_file(int direction)
static void remove_current_file(void) static void remove_current_file(void)
{ {
int i; unsigned i;
if (num_files < 2) if (num_files < 2)
return; return;
@ -974,7 +974,7 @@ static void regex_process(void)
match_pos = 0; match_pos = 0;
fill_match_lines(0); fill_match_lines(0);
while (match_pos < num_matches) { while (match_pos < num_matches) {
if (match_lines[match_pos] > cur_fline) if ((int)match_lines[match_pos] > cur_fline)
break; break;
match_pos++; match_pos++;
} }
@ -990,7 +990,7 @@ static void regex_process(void)
static void number_process(int first_digit) static void number_process(int first_digit)
{ {
int i; unsigned i;
int num; int num;
char num_input[sizeof(int)*4]; /* more than enough */ char num_input[sizeof(int)*4]; /* more than enough */
char keypress; char keypress;
@ -1120,7 +1120,7 @@ static void save_input_to_file(void)
{ {
const char *msg = ""; const char *msg = "";
char *current_line; char *current_line;
int i; unsigned i;
FILE *fp; FILE *fp;
print_statusline("Log file: "); print_statusline("Log file: ");
@ -1204,7 +1204,7 @@ static char opp_bracket(char bracket)
static void match_right_bracket(char bracket) static void match_right_bracket(char bracket)
{ {
int i; unsigned i;
if (strchr(flines[cur_fline], bracket) == NULL) { if (strchr(flines[cur_fline], bracket) == NULL) {
print_statusline("No bracket in top line"); print_statusline("No bracket in top line");

View File

@ -99,12 +99,12 @@ int makedevs_main(int argc, char **argv)
while ((line = xmalloc_fgetline(table)) != NULL) { while ((line = xmalloc_fgetline(table)) != NULL) {
char type; char type;
unsigned int mode = 0755; unsigned mode = 0755;
unsigned int major = 0; unsigned major = 0;
unsigned int minor = 0; unsigned minor = 0;
unsigned int count = 0; unsigned count = 0;
unsigned int increment = 0; unsigned increment = 0;
unsigned int start = 0; unsigned start = 0;
char name[41]; char name[41];
char user[41]; char user[41];
char group[41]; char group[41];
@ -121,7 +121,7 @@ int makedevs_main(int argc, char **argv)
{ {
if (*line=='\0' || *line=='#' || isspace(*line)) if (*line=='\0' || *line=='#' || isspace(*line))
continue; continue;
bb_error_msg("line %d invalid: '%s'", linenum, line); bb_error_msg("invalid line %d: '%s'", linenum, line);
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
continue; continue;
} }
@ -140,7 +140,7 @@ int makedevs_main(int argc, char **argv)
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
goto loop; goto loop;
} }
if ((mode != -1) && (chmod(full_name, mode) < 0)){ if (chmod(full_name, mode) < 0) {
bb_perror_msg("line %d: chmod failed for %s", linenum, full_name); bb_perror_msg("line %d: chmod failed for %s", linenum, full_name);
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
goto loop; goto loop;
@ -157,7 +157,7 @@ int makedevs_main(int argc, char **argv)
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
goto loop; goto loop;
} }
if ((mode != -1) && (chmod(full_name, mode) < 0)){ if (chmod(full_name, mode) < 0) {
bb_perror_msg("line %d: chmod failed for %s", linenum, full_name); bb_perror_msg("line %d: chmod failed for %s", linenum, full_name);
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
goto loop; goto loop;
@ -180,7 +180,7 @@ int makedevs_main(int argc, char **argv)
} }
if (count > 0) { if (count > 0) {
int i; unsigned i;
char *full_name_inc; char *full_name_inc;
full_name_inc = xmalloc(strlen(full_name) + 4); full_name_inc = xmalloc(strlen(full_name) + 4);
@ -195,7 +195,7 @@ int makedevs_main(int argc, char **argv)
bb_perror_msg("line %d: chown failed for %s", linenum, full_name_inc); bb_perror_msg("line %d: chown failed for %s", linenum, full_name_inc);
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
} }
if ((mode != -1) && (chmod(full_name_inc, mode) < 0)){ if (chmod(full_name_inc, mode) < 0) {
bb_perror_msg("line %d: chmod failed for %s", linenum, full_name_inc); bb_perror_msg("line %d: chmod failed for %s", linenum, full_name_inc);
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
} }
@ -211,7 +211,7 @@ int makedevs_main(int argc, char **argv)
bb_perror_msg("line %d: chown failed for %s", linenum, full_name); bb_perror_msg("line %d: chown failed for %s", linenum, full_name);
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
} }
if ((mode != -1) && (chmod(full_name, mode) < 0)){ if (chmod(full_name, mode) < 0) {
bb_perror_msg("line %d: chmod failed for %s", linenum, full_name); bb_perror_msg("line %d: chmod failed for %s", linenum, full_name);
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
} }

View File

@ -2041,7 +2041,7 @@ obj_add_symbol(struct obj_file *f, const char *name,
int n_type = ELF_ST_TYPE(info); int n_type = ELF_ST_TYPE(info);
int n_binding = ELF_ST_BIND(info); int n_binding = ELF_ST_BIND(info);
for (sym = f->symtab[hash]; sym; sym = sym->next) for (sym = f->symtab[hash]; sym; sym = sym->next) {
if (f->symbol_cmp(sym->name, name) == 0) { if (f->symbol_cmp(sym->name, name) == 0) {
int o_secidx = sym->secidx; int o_secidx = sym->secidx;
int o_info = sym->info; int o_info = sym->info;
@ -2100,14 +2100,14 @@ obj_add_symbol(struct obj_file *f, const char *name,
return sym; return sym;
} }
} }
}
/* Completely new symbol. */ /* Completely new symbol. */
sym = arch_new_symbol(); sym = arch_new_symbol();
sym->next = f->symtab[hash]; sym->next = f->symtab[hash];
f->symtab[hash] = sym; f->symtab[hash] = sym;
sym->ksymidx = -1; sym->ksymidx = -1;
if (ELF_ST_BIND(info) == STB_LOCAL && symidx != (unsigned long)(-1)) {
if (ELF_ST_BIND(info) == STB_LOCAL && symidx != -1) {
if (symidx >= f->local_symtab_size) if (symidx >= f->local_symtab_size)
bb_error_msg("local symbol %s with index %ld exceeds local_symtab_size %ld", bb_error_msg("local symbol %s with index %ld exceeds local_symtab_size %ld",
name, (long) symidx, (long) f->local_symtab_size); name, (long) symidx, (long) f->local_symtab_size);
@ -3313,7 +3313,7 @@ static struct obj_file *obj_load(FILE * fp, int loadprogbits ATTRIBUTE_UNUSED)
{ {
struct obj_file *f; struct obj_file *f;
ElfW(Shdr) * section_headers; ElfW(Shdr) * section_headers;
int shnum, i; size_t shnum, i;
char *shstrtab; char *shstrtab;
/* Read the file header. */ /* Read the file header. */
@ -3585,7 +3585,7 @@ static int obj_gpl_license(struct obj_file *f, const char **license)
while (ptr < endptr) { while (ptr < endptr) {
value = strchr(ptr, '='); value = strchr(ptr, '=');
if (value && strncmp(ptr, "license", value-ptr) == 0) { if (value && strncmp(ptr, "license", value-ptr) == 0) {
int i; unsigned i;
if (license) if (license)
*license = value+1; *license = value+1;
for (i = 0; i < ARRAY_SIZE(gpl_licenses); ++i) { for (i = 0; i < ARRAY_SIZE(gpl_licenses); ++i) {
@ -3724,7 +3724,8 @@ add_ksymoops_symbols(struct obj_file *f, const char *filename,
struct obj_symbol *sym; struct obj_symbol *sym;
char *name, *absolute_filename; char *name, *absolute_filename;
char str[STRVERSIONLEN]; char str[STRVERSIONLEN];
int i, l, lm_name, lfilename, use_ksymtab, version; unsigned i;
int l, lm_name, lfilename, use_ksymtab, version;
struct stat statbuf; struct stat statbuf;
/* WARNING: was using realpath, but replaced by readlink to stop using /* WARNING: was using realpath, but replaced by readlink to stop using
@ -4127,7 +4128,7 @@ int insmod_main(int argc, char **argv)
m_size = obj_load_size(f); m_size = obj_load_size(f);
m_addr = create_module(m_name, m_size); m_addr = create_module(m_name, m_size);
if (m_addr == -1) switch (errno) { if (m_addr == (ElfW(Addr))(-1)) switch (errno) {
case EEXIST: case EEXIST:
bb_error_msg_and_die("a module named %s already exists", m_name); bb_error_msg_and_die("a module named %s already exists", m_name);
case ENOMEM: case ENOMEM:

View File

@ -174,7 +174,7 @@ static bool recv_pack(unsigned char *buf, int len, struct sockaddr_ll *FROM)
if (ah->ar_pro != htons(ETH_P_IP) if (ah->ar_pro != htons(ETH_P_IP)
|| (ah->ar_pln != 4) || (ah->ar_pln != 4)
|| (ah->ar_hln != me.sll_halen) || (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; return false;
memcpy(&src_ip, p + ah->ar_hln, 4); memcpy(&src_ip, p + ah->ar_hln, 4);

View File

@ -600,7 +600,7 @@ static void parse_conf(const char *path, int flag)
#if ENABLE_FEATURE_HTTPD_ERROR_PAGES #if ENABLE_FEATURE_HTTPD_ERROR_PAGES
if (flag == FIRST_PARSE && *p0 == 'E') { if (flag == FIRST_PARSE && *p0 == 'E') {
int i; unsigned i;
/* error status code */ /* error status code */
int status = atoi(++p0); int status = atoi(++p0);
/* c already points at the character following ':' in parse loop */ /* c already points at the character following ':' in parse loop */

View File

@ -604,7 +604,7 @@ static int set_if_addr(char *master_ifname, char *slave_ifname)
struct ifreq ifr; struct ifreq ifr;
int res; int res;
int i; unsigned i;
for (i = 0; i < ARRAY_SIZE(ifra); i++) { for (i = 0; i < ARRAY_SIZE(ifra); i++) {
strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname); strncpy_IFNAMSIZ(ifr.ifr_name, master_ifname);

View File

@ -486,7 +486,7 @@ static const struct dhcp_client_t ext_dhcp_clients[] = {
#if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP #if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
static int dhcp_up(struct interface_defn_t *ifd, execfn *exec) static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
{ {
int i; unsigned i;
#if ENABLE_FEATURE_IFUPDOWN_IP #if ENABLE_FEATURE_IFUPDOWN_IP
/* ip doesn't up iface when it configures it (unlike ifconfig) */ /* ip doesn't up iface when it configures it (unlike ifconfig) */
if (!execute("ip link set %iface% up", ifd, exec)) if (!execute("ip link set %iface% up", ifd, exec))
@ -522,7 +522,7 @@ static int dhcp_up(struct interface_defn_t *ifd ATTRIBUTE_UNUSED,
#if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP #if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
static int dhcp_down(struct interface_defn_t *ifd, execfn *exec) 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++) { for (i = 0; i < ARRAY_SIZE(ext_dhcp_clients); i++) {
if (exists_execable(ext_dhcp_clients[i].name)) if (exists_execable(ext_dhcp_clients[i].name))
return execute(ext_dhcp_clients[i].stopcmd, ifd, exec); return execute(ext_dhcp_clients[i].stopcmd, ifd, exec);
@ -1154,7 +1154,7 @@ int ifupdown_main(int argc, char **argv)
char *liface; char *liface;
char *pch; char *pch;
bool okay = 0; bool okay = 0;
unsigned cmds_ret; int cmds_ret;
iface = xstrdup(target_list->data); iface = xstrdup(target_list->data);
target_list = target_list->link; target_list = target_list->link;

View File

@ -750,7 +750,7 @@ static NOINLINE servtab_t *parse_one_line(void)
if (*p == '-') { if (*p == '-') {
p++; p++;
n = bb_strtou(p, &p, 10); 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; goto bad_ver_spec;
sep->se_rpcver_hi = n; sep->se_rpcver_hi = n;
} }
@ -812,7 +812,7 @@ static NOINLINE servtab_t *parse_one_line(void)
&& (sep->se_socktype == SOCK_STREAM && (sep->se_socktype == SOCK_STREAM
|| sep->se_socktype == SOCK_DGRAM) || sep->se_socktype == SOCK_DGRAM)
) { ) {
int i; unsigned i;
for (i = 0; i < ARRAY_SIZE(builtins); i++) for (i = 0; i < ARRAY_SIZE(builtins); i++)
if (strncmp(builtins[i].bi_service7, sep->se_service, 7) == 0) if (strncmp(builtins[i].bi_service7, sep->se_service, 7) == 0)
goto found_bi; goto found_bi;

View File

@ -525,7 +525,7 @@ static int if_readconf(void)
if (ioctl_or_warn(skfd, SIOCGIFCONF, &ifc) < 0) { if (ioctl_or_warn(skfd, SIOCGIFCONF, &ifc) < 0) {
goto out; 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 */ /* assume it overflowed and try again */
numreqs += 10; numreqs += 10;
continue; continue;
@ -862,7 +862,7 @@ const struct hwtype *get_hwntype(int type)
/* return 1 if address is all zeros */ /* return 1 if address is all zeros */
static int hw_null_address(const struct hwtype *hw, void *ap) static int hw_null_address(const struct hwtype *hw, void *ap)
{ {
unsigned int i; int i;
unsigned char *address = (unsigned char *) ap; unsigned char *address = (unsigned char *) ap;
for (i = 0; i < hw->alen; i++) for (i = 0; i < hw->alen; i++)

View File

@ -61,7 +61,7 @@ static int do_rd(int fd, void **paramp)
p = strpbrk(cur, "\r\n"); p = strpbrk(cur, "\r\n");
if (p) if (p)
*p = '\0'; *p = '\0';
if (!p && sz && buf->pos <= sizeof(buf->buf)) if (!p && sz && buf->pos <= (int)sizeof(buf->buf))
goto ok; goto ok;
/* Terminate session. If we are in server mode, then /* Terminate session. If we are in server mode, then
* fd is still in nonblocking mode - we never block here */ * fd is still in nonblocking mode - we never block here */

View File

@ -265,7 +265,7 @@ int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n,
if (msg.msg_namelen != sizeof(nladdr)) { if (msg.msg_namelen != sizeof(nladdr)) {
bb_error_msg_and_die("sender address length == %d", msg.msg_namelen); 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 l_err;
int len = h->nlmsg_len; int len = h->nlmsg_len;
int l = len - sizeof(*h); int l = len - sizeof(*h);
@ -293,7 +293,7 @@ int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n,
if (h->nlmsg_type == NLMSG_ERROR) { if (h->nlmsg_type == NLMSG_ERROR) {
struct nlmsgerr *err = (struct nlmsgerr*)NLMSG_DATA(h); struct nlmsgerr *err = (struct nlmsgerr*)NLMSG_DATA(h);
if (l < sizeof(struct nlmsgerr)) { if (l < (int)sizeof(struct nlmsgerr)) {
bb_error_msg("ERROR truncated"); bb_error_msg("ERROR truncated");
} else { } else {
errno = - err->error; errno = - err->error;
@ -336,7 +336,7 @@ int addattr32(struct nlmsghdr *n, int maxlen, int type, uint32_t data)
{ {
int len = RTA_LENGTH(4); int len = RTA_LENGTH(4);
struct rtattr *rta; struct rtattr *rta;
if (NLMSG_ALIGN(n->nlmsg_len) + len > maxlen) if ((int)(NLMSG_ALIGN(n->nlmsg_len) + len) > maxlen)
return -1; return -1;
rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len)); rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
rta->rta_type = type; rta->rta_type = type;
@ -351,7 +351,7 @@ int addattr_l(struct nlmsghdr *n, int maxlen, int type, void *data, int alen)
int len = RTA_LENGTH(alen); int len = RTA_LENGTH(alen);
struct rtattr *rta; struct rtattr *rta;
if (NLMSG_ALIGN(n->nlmsg_len) + len > maxlen) if ((int)(NLMSG_ALIGN(n->nlmsg_len) + len) > maxlen)
return -1; return -1;
rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len)); rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
rta->rta_type = type; rta->rta_type = type;

View File

@ -75,7 +75,7 @@ int ll_remember_index(struct sockaddr_nl *who ATTRIBUTE_UNUSED,
if (tb[IFLA_ADDRESS]) { if (tb[IFLA_ADDRESS]) {
int alen; int alen;
im->alen = alen = RTA_PAYLOAD(tb[IFLA_ADDRESS]); im->alen = alen = RTA_PAYLOAD(tb[IFLA_ADDRESS]);
if (alen > sizeof(im->addr)) if (alen > (int)sizeof(im->addr))
alen = sizeof(im->addr); alen = sizeof(im->addr);
memcpy(im->addr, RTA_DATA(tb[IFLA_ADDRESS]), alen); memcpy(im->addr, RTA_DATA(tb[IFLA_ADDRESS]), alen);
} else { } else {

View File

@ -98,10 +98,8 @@ __PF(ECONET,econet)
const char *ll_proto_n2a(unsigned short id, char *buf, int len) const char *ll_proto_n2a(unsigned short id, char *buf, int len)
{ {
int i; unsigned i;
id = ntohs(id); id = ntohs(id);
for (i = 0; i < ARRAY_SIZE(llproto_names); i++) { for (i = 0; i < ARRAY_SIZE(llproto_names); i++) {
if (llproto_names[i].id == id) if (llproto_names[i].id == id)
return llproto_names[i].name; return llproto_names[i].name;
@ -112,7 +110,7 @@ const char *ll_proto_n2a(unsigned short id, char *buf, int len)
int ll_proto_a2n(unsigned short *id, char *buf) int ll_proto_a2n(unsigned short *id, char *buf)
{ {
int i; unsigned i;
for (i = 0; i < ARRAY_SIZE(llproto_names); i++) { for (i = 0; i < ARRAY_SIZE(llproto_names); i++) {
if (strcasecmp(llproto_names[i].name, buf) == 0) { if (strcasecmp(llproto_names[i].name, buf) == 0) {
*id = htons(llproto_names[i].id); *id = htons(llproto_names[i].id);

View File

@ -187,7 +187,7 @@ const char *ll_type_n2a(int type, char *buf, int len)
#endif /* FEATURE_IP_RARE_PROTOCOLS */ #endif /* FEATURE_IP_RARE_PROTOCOLS */
}; };
int i; unsigned i;
const char *aname = arphrd_name; const char *aname = arphrd_name;
for (i = 0; i < ARRAY_SIZE(arphrd_type); i++) { for (i = 0; i < ARRAY_SIZE(arphrd_type); i++) {
if (arphrd_type[i] == type) if (arphrd_type[i] == type)

View File

@ -187,7 +187,7 @@ static int smtp_checkp(const char *fmt, const char *param, int code)
bb_error_msg_and_die("%s failed", msg); 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); return smtp_checkp(fmt, NULL, code);
} }
@ -224,7 +224,7 @@ static void pop3_checkr(const char *fmt, const char *param, char **ret)
bb_error_msg_and_die("%s failed", msg); 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); pop3_checkr(fmt, param, NULL);
} }

View File

@ -413,7 +413,7 @@ ifaddrlist(struct IFADDRLIST **ipaddrp)
ifc.ifc_buf = (caddr_t)ibuf; ifc.ifc_buf = (caddr_t)ibuf;
if (ioctl(fd, SIOCGIFCONF, (char *)&ifc) < 0 if (ioctl(fd, SIOCGIFCONF, (char *)&ifc) < 0
|| ifc.ifc_len < sizeof(struct ifreq) || ifc.ifc_len < (int)sizeof(struct ifreq)
) { ) {
if (errno == EINVAL) if (errno == EINVAL)
bb_error_msg_and_die( bb_error_msg_and_die(

View File

@ -319,7 +319,7 @@ void read_config(const char *file)
{ {
FILE *in; FILE *in;
char buffer[READ_CONFIG_BUF_SIZE], *token, *line; char buffer[READ_CONFIG_BUF_SIZE], *token, *line;
int i, lineno; unsigned i, lineno;
for (i = 0; i < KWS_WITH_DEFAULTS; i++) for (i = 0; i < KWS_WITH_DEFAULTS; i++)
keywords[i].handler(keywords[i].def, keywords[i].var); keywords[i].handler(keywords[i].def, keywords[i].var);
@ -344,7 +344,7 @@ void read_config(const char *file)
for (i = 0; i < ARRAY_SIZE(keywords); i++) { for (i = 0; i < ARRAY_SIZE(keywords); i++) {
if (!strcasecmp(token, keywords[i].keyword)) { if (!strcasecmp(token, keywords[i].keyword)) {
if (!keywords[i].handler(line, keywords[i].var)) { 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); lineno, file, line);
/* reset back to the default value */ /* reset back to the default value */
keywords[i].handler(keywords[i].def, keywords[i].var); keywords[i].handler(keywords[i].def, keywords[i].var);

View File

@ -162,7 +162,7 @@ static int run(char *argv[3], struct in_addr *ip)
/** /**
* Return milliseconds of random delay, up to "secs" seconds. * 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); return rand() % (secs * 1000);
} }

View File

@ -106,19 +106,19 @@ int kill_main(int argc, char **argv)
argc--; argc--;
do_it_now: do_it_now:
pid = getpid();
if (killall5) { if (killall5) {
pid_t sid; pid_t sid;
procps_status_t* p = NULL; procps_status_t* p = NULL;
/* Find out our own session id */
sid = getsid(pid);
/* Now stop all processes */ /* Now stop all processes */
kill(-1, SIGSTOP); kill(-1, SIGSTOP);
/* Find out our own session id */
pid = getpid();
sid = getsid(pid);
/* Now kill all processes except our session */ /* Now kill all processes except our session */
while ((p = procps_scan(p, PSSCAN_PID|PSSCAN_SID))) { while ((p = procps_scan(p, PSSCAN_PID|PSSCAN_SID))) {
if (p->sid != sid && p->pid != pid && p->pid != 1) if (p->sid != (unsigned)sid && p->pid != (unsigned)pid && p->pid != 1)
kill(p->pid, signo); kill(p->pid, signo);
} }
/* And let them continue */ /* And let them continue */
@ -134,7 +134,6 @@ do_it_now:
if (killall) { if (killall) {
/* Looks like they want to do a killall. Do that */ /* Looks like they want to do a killall. Do that */
pid = getpid();
while (arg) { while (arg) {
pid_t* pidList; pid_t* pidList;

View File

@ -115,7 +115,7 @@ int pgrep_main(int argc ATTRIBUTE_UNUSED, char **argv)
cmd = proc->comm; cmd = proc->comm;
/* NB: OPT_INVERT is always 0 or 1 */ /* NB: OPT_INVERT is always 0 or 1 */
if ((regexec(&re_buffer, cmd, 1, re_match, 0) == 0 /* match found */ if ((regexec(&re_buffer, cmd, 1, re_match, 0) == 0 /* match found */
&& (!OPT_ANCHOR || (re_match[0].rm_so == 0 && re_match[0].rm_eo == strlen(cmd)))) ^ OPT_INVERT && (!OPT_ANCHOR || (re_match[0].rm_so == 0 && re_match[0].rm_eo == (regoff_t)strlen(cmd)))) ^ OPT_INVERT
) { ) {
matched_pid = proc->pid; matched_pid = proc->pid;
if (OPT_LAST) { if (OPT_LAST) {

View File

@ -59,7 +59,7 @@ int pidof_main(int argc ATTRIBUTE_UNUSED, char **argv)
if (opt & OPT_OMIT) { if (opt & OPT_OMIT) {
llist_t *omits_p = omits; llist_t *omits_p = omits;
while (omits_p) { while (omits_p) {
if (xatoul(omits_p->data) == *pl) { if (xatoul(omits_p->data) == (unsigned long)(*pl)) {
goto omitting; goto omitting;
} }
omits_p = omits_p->link; omits_p = omits_p->link;

View File

@ -310,7 +310,7 @@ static ps_out_t* new_out_t(void)
static const ps_out_t* find_out_spec(const char *name) static const ps_out_t* find_out_spec(const char *name)
{ {
int i; unsigned i;
for (i = 0; i < ARRAY_SIZE(out_spec); i++) { for (i = 0; i < ARRAY_SIZE(out_spec); i++) {
if (!strcmp(name, out_spec[i].name)) if (!strcmp(name, out_spec[i].name))
return &out_spec[i]; return &out_spec[i];

View File

@ -53,7 +53,7 @@ typedef struct jiffy_counts_t {
the next. Used for finding deltas. */ the next. Used for finding deltas. */
typedef struct save_hist { typedef struct save_hist {
unsigned long ticks; unsigned long ticks;
unsigned pid; pid_t pid;
} save_hist; } save_hist;
typedef int (*cmp_funcp)(top_status_t *P, top_status_t *Q); typedef int (*cmp_funcp)(top_status_t *P, top_status_t *Q);
@ -317,7 +317,7 @@ static unsigned long display_header(int scr_width)
fclose(fp); fclose(fp);
/* output memory info */ /* output memory info */
if (scr_width > sizeof(scrbuf)) if (scr_width > (int)sizeof(scrbuf))
scr_width = sizeof(scrbuf); scr_width = sizeof(scrbuf);
snprintf(scrbuf, scr_width, snprintf(scrbuf, scr_width,
"Mem: %luK used, %luK free, %luK shrd, %luK buff, %luK cached", "Mem: %luK used, %luK free, %luK shrd, %luK buff, %luK cached",
@ -481,7 +481,7 @@ static NOINLINE void display_process_list(int count, int scr_width)
, SHOW_STAT(pcpu) , SHOW_STAT(pcpu)
#endif #endif
); );
if (col + 1 < scr_width) if ((int)(col + 1) < scr_width)
read_cmdline(line_buf + col, scr_width - col - 1, s->pid, s->comm); read_cmdline(line_buf + col, scr_width - col - 1, s->pid, s->comm);
fputs(line_buf, stdout); fputs(line_buf, stdout);
/* printf(" %d/%d %lld/%lld", s->pcpu, total_pcpu, /* printf(" %d/%d %lld/%lld", s->pcpu, total_pcpu,
@ -584,7 +584,7 @@ static char *grab_number(char *str, const char *match, unsigned sz)
static void display_topmem_header(int scr_width) static void display_topmem_header(int scr_width)
{ {
char linebuf[128]; char linebuf[128];
int i; unsigned i;
FILE *fp; FILE *fp;
union { union {
struct { struct {
@ -703,7 +703,7 @@ static NOINLINE void display_topmem_process_list(int count, int scr_width)
ulltoa6_and_space(s->dirty_sh, &line_buf[6*6]); ulltoa6_and_space(s->dirty_sh, &line_buf[6*6]);
ulltoa6_and_space(s->stack , &line_buf[7*6]); ulltoa6_and_space(s->stack , &line_buf[7*6]);
line_buf[8*6] = '\0'; line_buf[8*6] = '\0';
if (scr_width > MIN_WIDTH) { if (scr_width > (int)MIN_WIDTH) {
read_cmdline(&line_buf[8*6], scr_width - MIN_WIDTH, s->pid, s->comm); read_cmdline(&line_buf[8*6], scr_width - MIN_WIDTH, s->pid, s->comm);
} }
printf("\n""%.*s", scr_width, line_buf); printf("\n""%.*s", scr_width, line_buf);

View File

@ -1790,7 +1790,7 @@ extern struct globals_var *const ash_ptr_to_globals_var;
#define vartab (G_var.vartab ) #define vartab (G_var.vartab )
#define varinit (G_var.varinit ) #define varinit (G_var.varinit )
#define INIT_G_var() do { \ #define INIT_G_var() do { \
int i; \ unsigned i; \
(*(struct globals_var**)&ash_ptr_to_globals_var) = xzalloc(sizeof(G_var)); \ (*(struct globals_var**)&ash_ptr_to_globals_var) = xzalloc(sizeof(G_var)); \
barrier(); \ barrier(); \
for (i = 0; i < ARRAY_SIZE(varinit_data); i++) { \ for (i = 0; i < ARRAY_SIZE(varinit_data); i++) { \
@ -6223,7 +6223,7 @@ varvalue(char *name, int varflags, int flags, struct strlist *var_str_list)
if (!eq) /* stop at first non-assignment */ if (!eq) /* stop at first non-assignment */
break; break;
eq++; eq++;
if (name_len == (eq - str) if (name_len == (unsigned)(eq - str)
&& strncmp(str, name, name_len) == 0) { && strncmp(str, name, name_len) == 0) {
p = eq; p = eq;
/* goto value; - WRONG! */ /* goto value; - WRONG! */
@ -9500,12 +9500,13 @@ plus_minus_o(char *name, int val)
ash_msg("illegal option %co %s", val ? '-' : '+', name); ash_msg("illegal option %co %s", val ? '-' : '+', name);
return 1; return 1;
} }
for (i = 0; i < NOPTS; i++) for (i = 0; i < NOPTS; i++) {
if (val) { if (val) {
out1fmt("%-16s%s\n", optnames(i), optlist[i] ? "on" : "off"); out1fmt("%-16s%s\n", optnames(i), optlist[i] ? "on" : "off");
} else { } else {
out1fmt("set %co %s\n", optlist[i] ? '-' : '+', optnames(i)); out1fmt("set %co %s\n", optlist[i] ? '-' : '+', optnames(i));
} }
}
return 0; return 0;
} }
static void static void
@ -9699,7 +9700,7 @@ getopts(char *optstr, char *optvar, char **optfirst, int *param_optind, int *opt
return 1; return 1;
optnext = optfirst + *param_optind - 1; optnext = optfirst + *param_optind - 1;
if (*param_optind <= 1 || *optoff < 0 || strlen(optnext[-1]) < *optoff) if (*param_optind <= 1 || *optoff < 0 || (int)strlen(optnext[-1]) < *optoff)
p = NULL; p = NULL;
else else
p = optnext[-1] + *optoff; p = optnext[-1] + *optoff;
@ -11121,7 +11122,7 @@ xxreadtoken(void)
return readtoken1(c, BASESYNTAX, (char *) NULL, 0); return readtoken1(c, BASESYNTAX, (char *) NULL, 0);
} }
if (p - xxreadtoken_chars >= xxreadtoken_singles) { if ((size_t)(p - xxreadtoken_chars) >= xxreadtoken_singles) {
if (pgetc() == *p) { /* double occurrence? */ if (pgetc() == *p) { /* double occurrence? */
p += xxreadtoken_doubles + 1; p += xxreadtoken_doubles + 1;
} else { } else {
@ -11817,7 +11818,8 @@ trapcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
static int static int
helpcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) helpcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{ {
int col, i; unsigned col;
unsigned i;
out1fmt("\nBuilt-in commands:\n-------------------\n"); out1fmt("\nBuilt-in commands:\n-------------------\n");
for (col = 0, i = 0; i < ARRAY_SIZE(builtintab); i++) { for (col = 0, i = 0; i < ARRAY_SIZE(builtintab); i++) {
@ -12479,6 +12481,7 @@ ulimitcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
while ((c = *p++) >= '0' && c <= '9') { while ((c = *p++) >= '0' && c <= '9') {
val = (val * 10) + (long)(c - '0'); val = (val * 10) + (long)(c - '0');
// val is actually 'unsigned long int' and can't get < 0
if (val < (rlim_t) 0) if (val < (rlim_t) 0)
break; break;
} }

View File

@ -70,7 +70,7 @@ static void interrupted(int sig ATTRIBUTE_UNUSED)
int logread_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int logread_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int logread_main(int argc ATTRIBUTE_UNUSED, char **argv) int logread_main(int argc ATTRIBUTE_UNUSED, char **argv)
{ {
int cur; unsigned cur;
int log_semid; /* ipc semaphore id */ int log_semid; /* ipc semaphore id */
int log_shmid; /* ipc shared memory id */ int log_shmid; /* ipc shared memory id */
smallint follow = getopt32(argv, "f"); smallint follow = getopt32(argv, "f");

View File

@ -570,7 +570,7 @@ static void do_syslogd(void)
timestamp_and_log_internal("syslogd started: BusyBox v" BB_VER); timestamp_and_log_internal("syslogd started: BusyBox v" BB_VER);
for (;;) { for (;;) {
size_t sz; ssize_t sz;
#if ENABLE_FEATURE_SYSLOGD_DUP #if ENABLE_FEATURE_SYSLOGD_DUP
last_buf = recvbuf; last_buf = recvbuf;

View File

@ -230,8 +230,7 @@ static void
create_sunlabel(void) create_sunlabel(void)
{ {
struct hd_geometry geometry; struct hd_geometry geometry;
unsigned int ndiv; unsigned ndiv;
int i;
unsigned char c; unsigned char c;
const struct sun_predefined_drives *p = NULL; const struct sun_predefined_drives *p = NULL;
@ -241,6 +240,7 @@ create_sunlabel(void)
memset(MBRbuffer, 0, sizeof(MBRbuffer)); memset(MBRbuffer, 0, sizeof(MBRbuffer));
sunlabel->magic = SUN_SSWAP16(SUN_LABEL_MAGIC); sunlabel->magic = SUN_SSWAP16(SUN_LABEL_MAGIC);
if (!floppy) { if (!floppy) {
unsigned i;
puts("Drive type\n" puts("Drive type\n"
" ? auto configure\n" " ? auto configure\n"
" 0 custom (with hardware detected defaults)"); " 0 custom (with hardware detected defaults)");

View File

@ -147,7 +147,7 @@ static const char *normalize(const char *arg)
static int generate_output(char **argv, int argc, const char *optstr, const struct option *longopts) static int generate_output(char **argv, int argc, const char *optstr, const struct option *longopts)
{ {
int exit_code = 0; /* We assume everything will be OK */ int exit_code = 0; /* We assume everything will be OK */
unsigned opt; int opt;
#if ENABLE_GETOPT_LONG #if ENABLE_GETOPT_LONG
int longindex; int longindex;
#endif #endif
@ -173,7 +173,7 @@ static int generate_output(char **argv, int argc, const char *optstr, const stru
#else #else
getopt(argc, argv, optstr); getopt(argc, argv, optstr);
#endif #endif
if (opt == EOF) if (opt == -1)
break; break;
if (opt == '?' || opt == ':' ) if (opt == '?' || opt == ':' )
exit_code = 1; exit_code = 1;
@ -190,7 +190,7 @@ static int generate_output(char **argv, int argc, const char *optstr, const stru
printf(" %s", normalize(optarg)); printf(" %s", normalize(optarg));
else { else {
printf(" -%c", opt); printf(" -%c", opt);
charptr = strchr(optstr,opt); charptr = strchr(optstr, opt);
if (charptr != NULL && *++charptr == ':') if (charptr != NULL && *++charptr == ':')
printf(" %s", printf(" %s",
normalize(optarg ? optarg : "")); normalize(optarg ? optarg : ""));

View File

@ -307,7 +307,7 @@ static long parse_mount_options(char *options, char **unrecognized)
// Loop through options // Loop through options
for (;;) { for (;;) {
size_t i; unsigned i;
char *comma = strchr(options, ','); char *comma = strchr(options, ',');
const char *option_str = mount_option_str; const char *option_str = mount_option_str;

View File

@ -167,7 +167,7 @@ int volume_id_probe_ufs(struct volume_id *id, uint64_t off)
static const short offsets[] = { 0, 8, 64, 256 }; static const short offsets[] = { 0, 8, 64, 256 };
uint32_t magic; uint32_t magic;
int i; unsigned i;
struct ufs_super_block *ufs; struct ufs_super_block *ufs;
dbg("probing at offset 0x%llx", (unsigned long long) off); dbg("probing at offset 0x%llx", (unsigned long long) off);

View File

@ -152,7 +152,7 @@ static const probe_fptr fs2[] = {
int volume_id_probe_all(struct volume_id *id, uint64_t off, uint64_t size) int volume_id_probe_all(struct volume_id *id, uint64_t off, uint64_t size)
{ {
size_t i; unsigned i;
if (id == NULL) if (id == NULL)
return -EINVAL; return -EINVAL;