more -Wall warning fixes from Cristian Ionescu-Idbohrn.
This time it resulted in small code changes: function old new delta nexpr 820 828 +8 tail_main 1200 1202 +2 wrapf 166 167 +1 parse_mount_options 227 209 -18 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/1 up/down: 11/-18) Total: -7 bytes
This commit is contained in:
parent
c4f12f59cc
commit
77ad97f199
@ -138,12 +138,12 @@ char get_header_tar(archive_handle_t *archive_handle)
|
|||||||
/* tar gz/bz autodetect: check for gz/bz2 magic.
|
/* tar gz/bz autodetect: check for gz/bz2 magic.
|
||||||
* If it is the very first block, and we see the magic,
|
* If it is the very first block, and we see the magic,
|
||||||
* we can switch to get_header_tar_gz/bz2/lzma().
|
* we can switch to get_header_tar_gz/bz2/lzma().
|
||||||
* Needs seekable fd. I wish recv(MSG_PEEK) would work
|
* Needs seekable fd. I wish recv(MSG_PEEK) works
|
||||||
* on any fd... */
|
* on any fd... */
|
||||||
if (not_first)
|
if (not_first)
|
||||||
goto err;
|
goto err;
|
||||||
#if ENABLE_FEATURE_TAR_GZIP
|
#if ENABLE_FEATURE_TAR_GZIP
|
||||||
if (tar.name[0] == 0x1f && tar.name[1] == 0x8b) { /* gzip */
|
if (tar.name[0] == 0x1f && tar.name[1] == (char)0x8b) { /* gzip */
|
||||||
get_header_ptr = get_header_tar_gz;
|
get_header_ptr = get_header_tar_gz;
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
|
@ -48,5 +48,5 @@ int basename_main(int argc, char **argv)
|
|||||||
|
|
||||||
/* puts(s) will do, but we can do without stdio this way: */
|
/* puts(s) will do, but we can do without stdio this way: */
|
||||||
s[m++] = '\n';
|
s[m++] = '\n';
|
||||||
return full_write(STDOUT_FILENO, s, m) == m;
|
return full_write(STDOUT_FILENO, s, m) == (ssize_t)m;
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ static void cut_file(FILE *file, char delim)
|
|||||||
/* print the chars specified in each cut list */
|
/* print the chars specified in each cut list */
|
||||||
for (; cl_pos < nlists; cl_pos++) {
|
for (; cl_pos < nlists; cl_pos++) {
|
||||||
spos = cut_lists[cl_pos].startpos;
|
spos = cut_lists[cl_pos].startpos;
|
||||||
while (spos < strlen(line)) {
|
while (spos < (int)strlen(line)) {
|
||||||
if (!printed[spos]) {
|
if (!printed[spos]) {
|
||||||
printed[spos] = 'X';
|
printed[spos] = 'X';
|
||||||
putchar(line[spos]);
|
putchar(line[spos]);
|
||||||
@ -80,12 +80,12 @@ static void cut_file(FILE *file, char delim)
|
|||||||
|
|
||||||
/* get out if we have no more lists to process or if the lines
|
/* get out if we have no more lists to process or if the lines
|
||||||
* are lower than what we're interested in */
|
* are lower than what we're interested in */
|
||||||
if (linenum < spos || cl_pos >= nlists)
|
if (((int)linenum < spos) || (cl_pos >= nlists))
|
||||||
goto next_line;
|
goto next_line;
|
||||||
|
|
||||||
/* if the line we're looking for is lower than the one we were
|
/* if the line we're looking for is lower than the one we were
|
||||||
* passed, it means we displayed it already, so move on */
|
* passed, it means we displayed it already, so move on */
|
||||||
while (spos < linenum) {
|
while (spos < (int)linenum) {
|
||||||
spos++;
|
spos++;
|
||||||
/* go to the next list if we're at the end of this one */
|
/* go to the next list if we're at the end of this one */
|
||||||
if (spos > cut_lists[cl_pos].endpos
|
if (spos > cut_lists[cl_pos].endpos
|
||||||
@ -97,7 +97,7 @@ static void cut_file(FILE *file, char delim)
|
|||||||
spos = cut_lists[cl_pos].startpos;
|
spos = cut_lists[cl_pos].startpos;
|
||||||
/* get out if the current line is lower than the one
|
/* get out if the current line is lower than the one
|
||||||
* we just became interested in */
|
* we just became interested in */
|
||||||
if (linenum < spos)
|
if ((int)linenum < spos)
|
||||||
goto next_line;
|
goto next_line;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@ static bool write_and_stats(const void *buf, size_t len, size_t obs,
|
|||||||
ssize_t n = full_write_or_warn(buf, len, filename);
|
ssize_t n = full_write_or_warn(buf, len, filename);
|
||||||
if (n < 0)
|
if (n < 0)
|
||||||
return 1;
|
return 1;
|
||||||
if (n == obs)
|
if ((size_t)n == obs)
|
||||||
G.out_full++;
|
G.out_full++;
|
||||||
else if (n) /* > 0 */
|
else if (n) /* > 0 */
|
||||||
G.out_part++;
|
G.out_part++;
|
||||||
@ -312,7 +312,7 @@ int dd_main(int argc ATTRIBUTE_UNUSED, char **argv)
|
|||||||
while (n) {
|
while (n) {
|
||||||
size_t d = obs - oc;
|
size_t d = obs - oc;
|
||||||
|
|
||||||
if (d > n)
|
if (d > (size_t)n)
|
||||||
d = n;
|
d = n;
|
||||||
memcpy(obuf + oc, tmp, d);
|
memcpy(obuf + oc, tmp, d);
|
||||||
n -= d;
|
n -= d;
|
||||||
|
@ -41,7 +41,7 @@ static void expand(FILE *file, unsigned tab_size, unsigned opt)
|
|||||||
char *line;
|
char *line;
|
||||||
char *ptr;
|
char *ptr;
|
||||||
int convert;
|
int convert;
|
||||||
int pos;
|
unsigned pos;
|
||||||
|
|
||||||
/* Increment tab_size by 1 locally.*/
|
/* Increment tab_size by 1 locally.*/
|
||||||
tab_size++;
|
tab_size++;
|
||||||
@ -80,7 +80,7 @@ static void unexpand(FILE *file, unsigned int tab_size, unsigned opt)
|
|||||||
int convert;
|
int convert;
|
||||||
int pos;
|
int pos;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int column = 0;
|
unsigned column = 0;
|
||||||
|
|
||||||
while ((line = xmalloc_fgets(file)) != NULL) {
|
while ((line = xmalloc_fgets(file)) != NULL) {
|
||||||
convert = 1;
|
convert = 1;
|
||||||
|
@ -59,7 +59,8 @@ static struct sort_key {
|
|||||||
|
|
||||||
static char *get_key(char *str, struct sort_key *key, int flags)
|
static char *get_key(char *str, struct sort_key *key, int flags)
|
||||||
{
|
{
|
||||||
int start = 0, end = 0, len, i, j;
|
int start = 0, end = 0, len, j;
|
||||||
|
unsigned i;
|
||||||
|
|
||||||
/* Special case whole string, so we don't have to make a copy */
|
/* Special case whole string, so we don't have to make a copy */
|
||||||
if (key->range[0] == 1 && !key->range[1] && !key->range[2] && !key->range[3]
|
if (key->range[0] == 1 && !key->range[1] && !key->range[2] && !key->range[3]
|
||||||
|
@ -710,7 +710,7 @@ static void wrapf(const char *message, ...)
|
|||||||
{
|
{
|
||||||
char buf[128];
|
char buf[128];
|
||||||
va_list args;
|
va_list args;
|
||||||
int buflen;
|
unsigned buflen;
|
||||||
|
|
||||||
va_start(args, message);
|
va_start(args, message);
|
||||||
buflen = vsnprintf(buf, sizeof(buf), message, args);
|
buflen = vsnprintf(buf, sizeof(buf), message, args);
|
||||||
|
@ -92,7 +92,8 @@ int tail_main(int argc, char **argv)
|
|||||||
size_t tailbufsize;
|
size_t tailbufsize;
|
||||||
int taillen = 0;
|
int taillen = 0;
|
||||||
int newlines_seen = 0;
|
int newlines_seen = 0;
|
||||||
int nfiles, nread, nwrite, seen, i, opt;
|
int nfiles, nread, nwrite, i, opt;
|
||||||
|
unsigned seen;
|
||||||
|
|
||||||
int *fds;
|
int *fds;
|
||||||
char *s, *buf;
|
char *s, *buf;
|
||||||
@ -210,7 +211,7 @@ int tail_main(int argc, char **argv)
|
|||||||
} else if (count) {
|
} else if (count) {
|
||||||
if (COUNT_BYTES) {
|
if (COUNT_BYTES) {
|
||||||
taillen += nread;
|
taillen += nread;
|
||||||
if (taillen > count) {
|
if (taillen > (int)count) {
|
||||||
memmove(tailbuf, tailbuf + taillen - count, count);
|
memmove(tailbuf, tailbuf + taillen - count, count);
|
||||||
taillen = count;
|
taillen = count;
|
||||||
}
|
}
|
||||||
@ -225,7 +226,7 @@ int tail_main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
} while (k);
|
} while (k);
|
||||||
|
|
||||||
if (newlines_seen + newlines_in_buf < count) {
|
if (newlines_seen + newlines_in_buf < (int)count) {
|
||||||
newlines_seen += newlines_in_buf;
|
newlines_seen += newlines_in_buf;
|
||||||
taillen += nread;
|
taillen += nread;
|
||||||
} else {
|
} else {
|
||||||
@ -243,7 +244,7 @@ int tail_main(int argc, char **argv)
|
|||||||
memmove(tailbuf, s, taillen);
|
memmove(tailbuf, s, taillen);
|
||||||
newlines_seen = count - extra;
|
newlines_seen = count - extra;
|
||||||
}
|
}
|
||||||
if (tailbufsize < taillen + BUFSIZ) {
|
if (tailbufsize < (size_t)taillen + BUFSIZ) {
|
||||||
tailbufsize = taillen + BUFSIZ;
|
tailbufsize = taillen + BUFSIZ;
|
||||||
tailbuf = xrealloc(tailbuf, tailbufsize);
|
tailbuf = xrealloc(tailbuf, tailbufsize);
|
||||||
}
|
}
|
||||||
|
@ -412,7 +412,7 @@ static int test_eaccess(char *path, int mode)
|
|||||||
static int filstat(char *nm, enum token mode)
|
static int filstat(char *nm, enum token mode)
|
||||||
{
|
{
|
||||||
struct stat s;
|
struct stat s;
|
||||||
int i = i; /* gcc 3.x thinks it can be used uninitialized */
|
unsigned i = i; /* gcc 3.x thinks it can be used uninitialized */
|
||||||
|
|
||||||
if (mode == FILSYM) {
|
if (mode == FILSYM) {
|
||||||
#ifdef S_IFLNK
|
#ifdef S_IFLNK
|
||||||
|
@ -219,7 +219,7 @@ int tr_main(int argc ATTRIBUTE_UNUSED, char **argv)
|
|||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
/* If we're out of input, flush output and read more input. */
|
/* If we're out of input, flush output and read more input. */
|
||||||
if (in_index == read_chars) {
|
if ((ssize_t)in_index == read_chars) {
|
||||||
if (out_index) {
|
if (out_index) {
|
||||||
xwrite(STDOUT_FILENO, (char *)output, out_index);
|
xwrite(STDOUT_FILENO, (char *)output, out_index);
|
||||||
out_index = 0;
|
out_index = 0;
|
||||||
|
@ -126,7 +126,7 @@ static int pid_is_user(int pid)
|
|||||||
sprintf(buf, "/proc/%u", pid);
|
sprintf(buf, "/proc/%u", pid);
|
||||||
if (stat(buf, &sb) != 0)
|
if (stat(buf, &sb) != 0)
|
||||||
return 0;
|
return 0;
|
||||||
return (sb.st_uid == user_id);
|
return (sb.st_uid == (uid_t)user_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pid_is_cmd(pid_t pid)
|
static int pid_is_cmd(pid_t pid)
|
||||||
|
@ -676,7 +676,7 @@ static char nextchar(char **s)
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ALWAYS_INLINE isalnum_(int c)
|
static ALWAYS_INLINE int isalnum_(int c)
|
||||||
{
|
{
|
||||||
return (isalnum(c) || c == '_');
|
return (isalnum(c) || c == '_');
|
||||||
}
|
}
|
||||||
@ -1682,7 +1682,7 @@ static void hashwalk_init(var *v, xhash *array)
|
|||||||
{
|
{
|
||||||
char **w;
|
char **w;
|
||||||
hash_item *hi;
|
hash_item *hi;
|
||||||
int i;
|
unsigned i;
|
||||||
|
|
||||||
if (v->type & VF_WALK)
|
if (v->type & VF_WALK)
|
||||||
free(v->x.walker);
|
free(v->x.walker);
|
||||||
@ -1996,7 +1996,7 @@ static var *exec_builtin(node *op, var *res)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nargs = i;
|
nargs = i;
|
||||||
if (nargs < (info >> 30))
|
if ((uint32_t)nargs < (info >> 30))
|
||||||
syntax_error(EMSG_TOO_FEW_ARGS);
|
syntax_error(EMSG_TOO_FEW_ARGS);
|
||||||
|
|
||||||
switch (info & OPNMASK) {
|
switch (info & OPNMASK) {
|
||||||
|
@ -628,7 +628,7 @@ static int do_subst_command(sed_cmd_t *sed_cmd, char **line)
|
|||||||
{
|
{
|
||||||
char *oldline = *line;
|
char *oldline = *line;
|
||||||
int altered = 0;
|
int altered = 0;
|
||||||
int match_count = 0;
|
unsigned match_count = 0;
|
||||||
regex_t *current_regex;
|
regex_t *current_regex;
|
||||||
|
|
||||||
/* Handle empty regex. */
|
/* Handle empty regex. */
|
||||||
@ -665,7 +665,9 @@ static int do_subst_command(sed_cmd_t *sed_cmd, char **line)
|
|||||||
|
|
||||||
/* If we aren't interested in this match, output old line to
|
/* If we aren't interested in this match, output old line to
|
||||||
end of match and continue */
|
end of match and continue */
|
||||||
if (sed_cmd->which_match && sed_cmd->which_match != match_count) {
|
if (sed_cmd->which_match
|
||||||
|
&& (sed_cmd->which_match != match_count)
|
||||||
|
) {
|
||||||
for (i = 0; i < G.regmatch[0].rm_eo; i++)
|
for (i = 0; i < G.regmatch[0].rm_eo; i++)
|
||||||
pipe_putc(*oldline++);
|
pipe_putc(*oldline++);
|
||||||
continue;
|
continue;
|
||||||
|
@ -2239,7 +2239,9 @@ static char readit(void) // read (maybe cursor) key from stdin
|
|||||||
pfd[0].events = POLLIN;
|
pfd[0].events = POLLIN;
|
||||||
// keep reading while there are input chars, and room in buffer
|
// keep reading while there are input chars, and room in buffer
|
||||||
// for a complete ESC sequence (assuming 8 chars is enough)
|
// for a complete ESC sequence (assuming 8 chars is enough)
|
||||||
while (safe_poll(pfd, 1, 0) > 0 && n <= (sizeof(readbuffer) - 8)) {
|
while ((safe_poll(pfd, 1, 0) > 0)
|
||||||
|
&& ((size_t)n <= (sizeof(readbuffer) - 8))
|
||||||
|
) {
|
||||||
// read the rest of the ESC string
|
// read the rest of the ESC string
|
||||||
int r = safe_read(0, readbuffer + n, sizeof(readbuffer) - n);
|
int r = safe_read(0, readbuffer + n, sizeof(readbuffer) - n);
|
||||||
if (r > 0)
|
if (r > 0)
|
||||||
|
@ -233,7 +233,7 @@ static xlist_t *process_stdin(xlist_t *list_arg,
|
|||||||
}
|
}
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
s = p = buf;
|
s = p = buf;
|
||||||
if ((p - buf) >= mc)
|
if ((size_t)(p - buf) >= mc)
|
||||||
bb_error_msg_and_die("argument line too long");
|
bb_error_msg_and_die("argument line too long");
|
||||||
*p++ = (c == EOF ? '\0' : c);
|
*p++ = (c == EOF ? '\0' : c);
|
||||||
if (c == EOF) { /* word's delimiter or EOF detected */
|
if (c == EOF) { /* word's delimiter or EOF detected */
|
||||||
|
@ -262,7 +262,7 @@ static void input_backward(unsigned num)
|
|||||||
return;
|
return;
|
||||||
cursor -= num;
|
cursor -= num;
|
||||||
|
|
||||||
if (cmdedit_x >= num) {
|
if ((unsigned)cmdedit_x >= num) {
|
||||||
cmdedit_x -= num;
|
cmdedit_x -= num;
|
||||||
if (num <= 4) {
|
if (num <= 4) {
|
||||||
/* This is longer by 5 bytes on x86.
|
/* This is longer by 5 bytes on x86.
|
||||||
@ -321,7 +321,7 @@ static void input_delete(int save)
|
|||||||
{
|
{
|
||||||
int j = cursor;
|
int j = cursor;
|
||||||
|
|
||||||
if (j == command_len)
|
if (j == (int)command_len)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if ENABLE_FEATURE_EDITING_VI
|
#if ENABLE_FEATURE_EDITING_VI
|
||||||
@ -830,7 +830,7 @@ static void input_tab(smallint *lastWasTab)
|
|||||||
|
|
||||||
if (!*lastWasTab) {
|
if (!*lastWasTab) {
|
||||||
char *tmp, *tmp1;
|
char *tmp, *tmp1;
|
||||||
int len_found;
|
size_t len_found;
|
||||||
/* char matchBuf[MAX_LINELEN]; */
|
/* char matchBuf[MAX_LINELEN]; */
|
||||||
#define matchBuf (S.input_tab__matchBuf)
|
#define matchBuf (S.input_tab__matchBuf)
|
||||||
int find_type;
|
int find_type;
|
||||||
@ -1787,7 +1787,7 @@ int read_line_input(const char *prompt, char *command, int maxsize, line_input_t
|
|||||||
if (vi_cmdmode) /* Don't self-insert */
|
if (vi_cmdmode) /* Don't self-insert */
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
if (command_len >= (maxsize - 2)) /* Need to leave space for enter */
|
if ((int)command_len >= (maxsize - 2)) /* Need to leave space for enter */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
command_len++;
|
command_len++;
|
||||||
|
@ -383,7 +383,7 @@ void md5_hash(const void *buffer, size_t len, md5_ctx_t *ctx)
|
|||||||
// Process all input.
|
// Process all input.
|
||||||
|
|
||||||
while (len) {
|
while (len) {
|
||||||
int i = 64 - ctx->buflen;
|
unsigned i = 64 - ctx->buflen;
|
||||||
|
|
||||||
// Copy data into aligned buffer.
|
// Copy data into aligned buffer.
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ void xread(int fd, void *buf, size_t count)
|
|||||||
{
|
{
|
||||||
if (count) {
|
if (count) {
|
||||||
ssize_t size = full_read(fd, buf, count);
|
ssize_t size = full_read(fd, buf, count);
|
||||||
if (size != count)
|
if ((size_t)size != count)
|
||||||
bb_error_msg_and_die("short read");
|
bb_error_msg_and_die("short read");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -160,7 +160,7 @@ char *xmalloc_reads(int fd, char *buf, size_t *maxsz_p)
|
|||||||
|
|
||||||
goto jump_in;
|
goto jump_in;
|
||||||
while (sz < maxsz) {
|
while (sz < maxsz) {
|
||||||
if (p - buf == sz) {
|
if ((size_t)(p - buf) == sz) {
|
||||||
jump_in:
|
jump_in:
|
||||||
buf = xrealloc(buf, sz + 128);
|
buf = xrealloc(buf, sz + 128);
|
||||||
p = buf + sz;
|
p = buf + sz;
|
||||||
|
@ -130,7 +130,7 @@ int get_signum(const char *name)
|
|||||||
return i;
|
return i;
|
||||||
if (strncasecmp(name, "SIG", 3) == 0)
|
if (strncasecmp(name, "SIG", 3) == 0)
|
||||||
name += 3;
|
name += 3;
|
||||||
for (i = 0; i < ARRAY_SIZE(signals); i++)
|
for (i = 0; (size_t)i < ARRAY_SIZE(signals); i++)
|
||||||
if (strcasecmp(name, signals[i]) == 0)
|
if (strcasecmp(name, signals[i]) == 0)
|
||||||
return i;
|
return i;
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ void print_signames(void)
|
|||||||
{
|
{
|
||||||
int signo;
|
int signo;
|
||||||
|
|
||||||
for (signo = 1; signo < ARRAY_SIZE(signals); signo++) {
|
for (signo = 1; (size_t)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);
|
||||||
|
@ -204,7 +204,7 @@ void xwrite(int fd, const void *buf, size_t count)
|
|||||||
{
|
{
|
||||||
if (count) {
|
if (count) {
|
||||||
ssize_t size = full_write(fd, buf, count);
|
ssize_t size = full_write(fd, buf, count);
|
||||||
if (size != count)
|
if ((size_t)size != count)
|
||||||
bb_error_msg_and_die("short write");
|
bb_error_msg_and_die("short write");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ static void crondlog(const char *ctl, ...)
|
|||||||
int level = (ctl[0] & 0x1f);
|
int level = (ctl[0] & 0x1f);
|
||||||
|
|
||||||
va_start(va, ctl);
|
va_start(va, ctl);
|
||||||
if (level >= LogLevel) {
|
if (level >= (int)LogLevel) {
|
||||||
/* Debug mode: all to (non-redirected) stderr, */
|
/* Debug mode: all to (non-redirected) stderr, */
|
||||||
/* Syslog mode: all to syslog (logmode = LOGMODE_SYSLOG), */
|
/* Syslog mode: all to syslog (logmode = LOGMODE_SYSLOG), */
|
||||||
if (!DebugOpt && LogFile) {
|
if (!DebugOpt && LogFile) {
|
||||||
@ -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)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
int weekUsed = 0;
|
int weekUsed = 0;
|
||||||
int daysUsed = 0;
|
int daysUsed = 0;
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ static void eject_scsi(const char *dev)
|
|||||||
{ START_STOP, 0, 0, 0, 2, 0 }
|
{ START_STOP, 0, 0, 0, 2, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
int i;
|
unsigned i;
|
||||||
unsigned char sense_buffer[32];
|
unsigned char sense_buffer[32];
|
||||||
unsigned char inqBuff[2];
|
unsigned char inqBuff[2];
|
||||||
sg_io_hdr_t io_hdr;
|
sg_io_hdr_t io_hdr;
|
||||||
|
@ -120,9 +120,12 @@ static void make_device(char *path, int delete)
|
|||||||
|
|
||||||
/* If not this device, skip rest of line */
|
/* If not this device, skip rest of line */
|
||||||
/* (regexec returns whole pattern as "range" 0) */
|
/* (regexec returns whole pattern as "range" 0) */
|
||||||
if (result || off[0].rm_so || off[0].rm_eo != strlen(device_name))
|
if (result || off[0].rm_so
|
||||||
|
|| ((int)off[0].rm_eo != (int)strlen(device_name))
|
||||||
|
) {
|
||||||
goto next_line;
|
goto next_line;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* This line matches: stop parsing the file
|
/* This line matches: stop parsing the file
|
||||||
* after parsing the rest of fields */
|
* after parsing the rest of fields */
|
||||||
|
@ -307,7 +307,7 @@ static long parse_mount_options(char *options, char **unrecognized)
|
|||||||
|
|
||||||
// Loop through options
|
// Loop through options
|
||||||
for (;;) {
|
for (;;) {
|
||||||
int i;
|
size_t i;
|
||||||
char *comma = strchr(options, ',');
|
char *comma = strchr(options, ',');
|
||||||
const char *option_str = mount_option_str;
|
const char *option_str = mount_option_str;
|
||||||
|
|
||||||
@ -1004,7 +1004,7 @@ static int nfsmount(struct mntent *mp, long vfsflags, char *filteropts)
|
|||||||
bb_herror_msg("%s", hostname);
|
bb_herror_msg("%s", hostname);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
if (hp->h_length > sizeof(struct in_addr)) {
|
if ((size_t)hp->h_length > sizeof(struct in_addr)) {
|
||||||
bb_error_msg("got bad hp->h_length");
|
bb_error_msg("got bad hp->h_length");
|
||||||
hp->h_length = sizeof(struct in_addr);
|
hp->h_length = sizeof(struct in_addr);
|
||||||
}
|
}
|
||||||
@ -1279,9 +1279,9 @@ static int nfsmount(struct mntent *mp, long vfsflags, char *filteropts)
|
|||||||
if (hp == NULL) {
|
if (hp == NULL) {
|
||||||
bb_herror_msg("%s", mounthost);
|
bb_herror_msg("%s", mounthost);
|
||||||
goto fail;
|
goto fail;
|
||||||
} else {
|
}
|
||||||
if (hp->h_length > sizeof(struct in_addr)) {
|
if ((size_t)hp->h_length > sizeof(struct in_addr)) {
|
||||||
bb_error_msg("got bad hp->h_length?");
|
bb_error_msg("got bad hp->h_length");
|
||||||
hp->h_length = sizeof(struct in_addr);
|
hp->h_length = sizeof(struct in_addr);
|
||||||
}
|
}
|
||||||
mount_server_addr.sin_family = AF_INET;
|
mount_server_addr.sin_family = AF_INET;
|
||||||
@ -1289,7 +1289,6 @@ static int nfsmount(struct mntent *mp, long vfsflags, char *filteropts)
|
|||||||
hp->h_addr, hp->h_length);
|
hp->h_addr, hp->h_length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following loop implements the mount retries. When the mount
|
* The following loop implements the mount retries. When the mount
|
||||||
|
@ -13,11 +13,11 @@
|
|||||||
// Make up for header deficiencies.
|
// Make up for header deficiencies.
|
||||||
|
|
||||||
#ifndef RAMFS_MAGIC
|
#ifndef RAMFS_MAGIC
|
||||||
#define RAMFS_MAGIC 0x858458f6
|
#define RAMFS_MAGIC ((unsigned)0x858458f6)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef TMPFS_MAGIC
|
#ifndef TMPFS_MAGIC
|
||||||
#define TMPFS_MAGIC 0x01021994
|
#define TMPFS_MAGIC ((unsigned)0x01021994)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MS_MOVE
|
#ifndef MS_MOVE
|
||||||
@ -91,10 +91,10 @@ int switch_root_main(int argc ATTRIBUTE_UNUSED, char **argv)
|
|||||||
// we mean it. (I could make this a CONFIG option, but I would get email
|
// we mean it. (I could make this a CONFIG option, but I would get email
|
||||||
// from all the people who WILL eat their filesystems.)
|
// from all the people who WILL eat their filesystems.)
|
||||||
|
|
||||||
if (lstat("/init", &st1) || !S_ISREG(st1.st_mode) || statfs("/", &stfs) ||
|
if (lstat("/init", &st1) || !S_ISREG(st1.st_mode) || statfs("/", &stfs)
|
||||||
(stfs.f_type != RAMFS_MAGIC && stfs.f_type != TMPFS_MAGIC) ||
|
|| (((unsigned)stfs.f_type != RAMFS_MAGIC) && ((unsigned)stfs.f_type != TMPFS_MAGIC))
|
||||||
getpid() != 1)
|
|| (getpid() != 1)
|
||||||
{
|
) {
|
||||||
bb_error_msg_and_die("not rootfs");
|
bb_error_msg_and_die("not rootfs");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,7 +212,7 @@ void *volume_id_get_buffer(struct volume_id *id, uint64_t off, size_t len)
|
|||||||
}
|
}
|
||||||
dbg("got 0x%zx (%zi) bytes", buf_len, buf_len);
|
dbg("got 0x%zx (%zi) bytes", buf_len, buf_len);
|
||||||
id->sbbuf_len = buf_len;
|
id->sbbuf_len = buf_len;
|
||||||
if (buf_len < off + len) {
|
if ((uint64_t)buf_len < off + len) {
|
||||||
dbg("requested 0x%zx bytes, got only 0x%zx bytes", len, buf_len);
|
dbg("requested 0x%zx bytes, got only 0x%zx bytes", len, buf_len);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -243,7 +243,7 @@ void *volume_id_get_buffer(struct volume_id *id, uint64_t off, size_t len)
|
|||||||
dbg("got 0x%zx (%zi) bytes", buf_len, buf_len);
|
dbg("got 0x%zx (%zi) bytes", buf_len, buf_len);
|
||||||
id->seekbuf_off = off;
|
id->seekbuf_off = off;
|
||||||
id->seekbuf_len = buf_len;
|
id->seekbuf_len = buf_len;
|
||||||
if (buf_len < len) {
|
if ((size_t)buf_len < len) {
|
||||||
dbg("requested 0x%zx bytes, got only 0x%zx bytes", len, buf_len);
|
dbg("requested 0x%zx bytes, got only 0x%zx bytes", len, buf_len);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
if (id == NULL)
|
if (id == NULL)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user