Fix compilation warnings reported by gcc -Wsign-compare

* configure.ac (gl_WARN_ADD): Add -Wsign-compare.
* defs.h (struct tcb): Change 'currpers' type to unsigned.
(struct xlat): Change 'val' type to unsigned
(signame): Add 'const' qualifier to its argument.
(xlookup, printxval): Add 'const' qualifier to the 2nd argument and
change its type to unsigned.
(printpathn): Change the 3rd argument type to unsigned.
(ioctl_lookup): Change 1st argument type to unsigned.
* count.c (call_summary_pers, call_summary): Change 'i' type to unsigned.
* file.c (print_xattr_list): Fix comparisons between signed and unsigned
long values.
* ioctl.c (compare): Fix cast.
(ioctl_lookup): Change 1st argument type to to unsigned.
(ioctl_next_match): Change 'code' type to unsigned.
* mem.c (sys_move_pages): Change 'i' type to unsigned.
* mtd.c (mtd_ioctl): Change 'i' and 'j' types to unsigned.
Print 'i' using %u format string.
* process.c (sys_prctl): Change 'i' type to unsigned.
(printargv): Change 'n' type to unsigned.
(sys_ptrace): Change 'addr' type to unsigned.
* scsi.c (print_sg_io_buffer): Add 'const' qualifier to 'len' argument
and change its type to unsigned.  Change 'i' and 'allocated' types
to unsigned.
* signal.c (signame): Add 'const' qualifier to its argument.
Fix comparisons between signed and unsigned values.
(sprintsigmask_n, printsiginfo): Fix comparisons between signed and
unsigned values.
* sock.c (sock_ioctl): Change 'i' and 'nifra' types to unsigned.
* strace.c (expand_tcbtab, alloctcb): Change 'i' type to unsigned.
(detach): Change 'sig' type to unsigned.
(startup_attach): Change 'tcbi' type to unsigned.
(startup_child): Change 'm', 'n', and 'len' types to unsigned.
(init): Use new variable to iterate 'tcbtab'.
(pid2tcb): Change 'i' type to unsigned.
(cleanup): Change 'i' and 'sig' types to unsigned.
* syscall.c (update_personality): Change 'personality' argument type
to unsigned.
(struct qual_options): Change 'bitflag' type to unsigned.
(reallocate_qual): Add 'const' qualifier to its argument and change its
type to unsigned.
(qualify_one): Change 'n' and 'bitflag' arguments types to unsigned.
Add 'const' qualifier to 'n', 'not', and 'pers' arguments.
Change 'p' type to signed int.
(qual_syscall): Change 'bitflag' argument type to unsigned.
Add 'const' qualifier to 'bitflag' and 'not' arguments.
Change 'p' type to signed int.
(qual_signal): Change 'bitflag' argument type to unsigned.
Add 'const' qualifier to 'bitflag' and 'not' arguments.
Change 'i' type to unsigned.
(qual_desc): Change 'bitflag' argument type to unsigned.
Add 'const' qualifier to 'bitflag' and 'not' arguments.
(qualify): Change 'i' type to unsigned.
(get_scno): Change 'currpers' type to unsigned.
Fix a comparison between signed and unsigned values.
* system.c (sys_sysctl): Change 'cnt' and 'max_cnt' types to unsigned.
Fix comparisons between signed and unsigned values.
* util.c (xlookup, printxval): Add 'const' qualifier to 'val' argument
and change its type to unsigned.
(printuid): Fix a comparison between signed and unsigned values.
(printpathn): Change 'n' argument type to unsigned.
(printstr): Change 'size' type to unsigned.
Fix a comparison between signed and unsigned values.
(setbpt): Change 'i' type to unsigned.
* net.c (printsock): Silence a compilation warning.
* reboot.c (sys_reboot): Likewise.
This commit is contained in:
Дмитрий Левин 2014-09-10 13:46:04 +00:00
parent 2ed2cc743d
commit 3ed5d02183
17 changed files with 90 additions and 82 deletions

View File

@ -164,6 +164,7 @@ AC_DEFINE_UNQUOTED([ENABLE_ARM_OABI], [$enable_arm_oabi],
gl_WARN_ADD([-Wall])
gl_WARN_ADD([-Wwrite-strings])
gl_WARN_ADD([-Wsign-compare])
AC_ARG_ENABLE([gcc-Werror],
[AS_HELP_STRING([--enable-gcc-Werror], [turn on gcc's -Werror option])],
[case $enableval in

View File

@ -156,7 +156,7 @@ void set_overhead(int n)
static void
call_summary_pers(FILE *outf)
{
int i;
unsigned int i;
int call_cum, error_cum;
struct timeval tv_cum, dtv;
double float_tv_cum;
@ -230,7 +230,7 @@ call_summary_pers(FILE *outf)
void
call_summary(FILE *outf)
{
int i, old_pers = current_personality;
unsigned int i, old_pers = current_personality;
for (i = 0; i < SUPPORTED_PERSONALITIES; ++i) {
if (!countv[i])

14
defs.h
View File

@ -414,7 +414,7 @@ struct tcb {
#endif
long u_rval; /* Return value */
#if SUPPORTED_PERSONALITIES > 1
int currpers; /* Personality at the time of scno update */
unsigned int currpers; /* Personality at the time of scno update */
#endif
int curcol; /* Output column for this process */
FILE *outf; /* Output file for this process */
@ -508,7 +508,7 @@ typedef uint8_t qualbits_t;
#define filtered(tcp) ((tcp)->flags & TCB_FILTERED)
struct xlat {
int val;
unsigned int val;
const char *str;
};
#define XLAT(x) { x, #x }
@ -642,12 +642,12 @@ extern long getrval2(struct tcb *);
extern int setbpt(struct tcb *);
extern int clearbpt(struct tcb *);
extern const char *signame(int);
extern const char *signame(const int);
extern void pathtrace_select(const char *);
extern int pathtrace_match(struct tcb *);
extern int getfdpath(struct tcb *, int, char *, unsigned);
extern const char *xlookup(const struct xlat *, int);
extern const char *xlookup(const struct xlat *, const unsigned int);
extern int string_to_uint(const char *str);
extern int string_quote(const char *, char *, long, int);
@ -665,7 +665,7 @@ extern int next_set_bit(const void *bit_array, unsigned cur_bit, unsigned size_b
#endif
extern int printllval(struct tcb *, const char *, int);
extern void printxval(const struct xlat *, int, const char *);
extern void printxval(const struct xlat *, const unsigned int, const char *);
extern int printargs(struct tcb *);
extern int printargs_lu(struct tcb *);
extern int printargs_ld(struct tcb *);
@ -678,7 +678,7 @@ extern void printstr(struct tcb *, long, long);
extern void printnum(struct tcb *, long, const char *);
extern void printnum_int(struct tcb *, long, const char *);
extern void printpath(struct tcb *, long);
extern void printpathn(struct tcb *, long, int);
extern void printpathn(struct tcb *, long, unsigned int);
#define TIMESPEC_TEXT_BUFSIZE (sizeof(long)*3 * 2 + sizeof("{%u, %u}"))
#define TIMEVAL_TEXT_BUFSIZE TIMESPEC_TEXT_BUFSIZE
extern void printtv_bitness(struct tcb *, long, enum bitness_t, int);
@ -710,7 +710,7 @@ extern void tprint_open_modes(mode_t);
extern const char *sprint_open_modes(mode_t);
extern void print_loff_t(struct tcb *, long);
extern const struct_ioctlent *ioctl_lookup(long);
extern const struct_ioctlent *ioctl_lookup(unsigned long);
extern const struct_ioctlent *ioctl_next_match(const struct_ioctlent *);
extern int ioctl_decode(struct tcb *, long, long);
extern int term_ioctl(struct tcb *, long, long);

3
file.c
View File

@ -2202,7 +2202,8 @@ print_xattr_list(struct tcb *tcp, unsigned long addr, unsigned long size)
tprints("NULL");
} else {
unsigned long len =
(size < tcp->u_rval) ? size : tcp->u_rval;
(size < (unsigned long) tcp->u_rval) ?
size : (unsigned long) tcp->u_rval;
printstr(tcp, addr, len);
}
}

View File

@ -34,13 +34,13 @@
static int
compare(const void *a, const void *b)
{
unsigned long code1 = (long) a;
unsigned long code1 = (unsigned long) a;
unsigned long code2 = ((struct_ioctlent *) b)->code;
return (code1 > code2) ? 1 : (code1 < code2) ? -1 : 0;
}
const struct_ioctlent *
ioctl_lookup(long code)
ioctl_lookup(unsigned long code)
{
struct_ioctlent *iop;
@ -60,7 +60,7 @@ ioctl_lookup(long code)
const struct_ioctlent *
ioctl_next_match(const struct_ioctlent *iop)
{
long code;
unsigned long code;
code = iop->code;
iop++;

6
mem.c
View File

@ -481,7 +481,7 @@ sys_move_pages(struct tcb *tcp)
if (tcp->u_arg[2] == 0)
tprints("NULL, ");
else {
int i;
unsigned int i;
long puser = tcp->u_arg[2];
tprints("{");
for (i = 0; i < npages; ++i) {
@ -500,7 +500,7 @@ sys_move_pages(struct tcb *tcp)
if (tcp->u_arg[3] == 0)
tprints("NULL, ");
else {
int i;
unsigned int i;
long nodeuser = tcp->u_arg[3];
tprints("{");
for (i = 0; i < npages; ++i) {
@ -522,7 +522,7 @@ sys_move_pages(struct tcb *tcp)
if (tcp->u_arg[4] == 0)
tprints("NULL, ");
else {
int i;
unsigned int i;
long statususer = tcp->u_arg[4];
tprints("{");
for (i = 0; i < npages; ++i) {

4
mtd.c
View File

@ -60,7 +60,7 @@ int mtd_ioctl(struct tcb *tcp, long code, long arg)
struct mtd_write_req mreq;
struct nand_oobinfo ninfo;
struct nand_ecclayout_user nlay;
int i, j;
unsigned int i, j;
if (entering(tcp))
return 0;
@ -235,7 +235,7 @@ int mtd_ioctl(struct tcb *tcp, long code, long arg)
if (!verbose(tcp) || umove(tcp, arg, &i) < 0)
return 0;
tprintf(", [%d]", i);
tprintf(", [%u]", i);
return 1;
case MTDFILEMODE:

2
net.c
View File

@ -189,7 +189,7 @@ printsock(struct tcb *tcp, long addr, int addrlen)
return;
}
if (addrlen < 2 || addrlen > sizeof(addrbuf))
if (addrlen < 2 || addrlen > (int) sizeof(addrbuf))
addrlen = sizeof(addrbuf);
memset(&addrbuf, 0, sizeof(addrbuf));

View File

@ -131,7 +131,7 @@ unalignctl_string(unsigned int ctl)
int
sys_prctl(struct tcb *tcp)
{
int i;
unsigned int i;
if (entering(tcp)) {
printxval(prctl_options, tcp->u_arg[0], "PR_???");
@ -726,7 +726,7 @@ printargv(struct tcb *tcp, long addr)
char data[sizeof(long)];
} cp;
const char *sep;
int n = 0;
unsigned int n = 0;
unsigned wordsize = current_wordsize;
cp.p64 = 1;
@ -2103,7 +2103,7 @@ int
sys_ptrace(struct tcb *tcp)
{
const struct xlat *x;
long addr;
unsigned long addr;
if (entering(tcp)) {
printxval(ptrace_cmds, tcp->u_arg[0], "PTRACE_???");

View File

@ -16,7 +16,7 @@ sys_reboot(struct tcb *tcp)
printflags(bootflags2, tcp->u_arg[1], "LINUX_REBOOT_MAGIC_???");
tprints(", ");
printflags(bootflags3, tcp->u_arg[2], "LINUX_REBOOT_CMD_???");
if (tcp->u_arg[2] == LINUX_REBOOT_CMD_RESTART2) {
if (tcp->u_arg[2] == (long) LINUX_REBOOT_CMD_RESTART2) {
tprints(", ");
printstr(tcp, tcp->u_arg[3], -1);
}

7
scsi.c
View File

@ -36,16 +36,15 @@
#include "xlat/sg_io_dxfer_direction.h"
static void
print_sg_io_buffer(struct tcb *tcp, unsigned char *addr, int len)
print_sg_io_buffer(struct tcb *tcp, unsigned char *addr, const unsigned int len)
{
unsigned char *buf = NULL;
int allocated, i;
unsigned int allocated, i;
if (len == 0)
return;
allocated = (len > max_strlen) ? max_strlen : len;
if (len < 0 ||
(buf = malloc(allocated)) == NULL ||
if ((buf = malloc(allocated)) == NULL ||
umoven(tcp, (unsigned long) addr, allocated, (char *) buf) < 0) {
tprintf("%p", addr);
free(buf);

View File

@ -144,18 +144,22 @@ struct sigcontext {
*/
const char *
signame(int sig)
signame(const int sig)
{
static char buf[sizeof("SIGRT_%d") + sizeof(int)*3];
static char buf[sizeof("SIGRT_%u") + sizeof(int)*3];
if (sig >= 0 && sig < nsignals)
return signalent[sig];
if (sig >= 0) {
const unsigned int s = sig;
if (s < nsignals)
return signalent[s];
#ifdef SIGRTMIN
if (sig >= __SIGRTMIN && sig <= __SIGRTMAX) {
sprintf(buf, "SIGRT_%d", (int)(sig - __SIGRTMIN));
return buf;
}
if (s >= __SIGRTMIN && s <= __SIGRTMAX) {
sprintf(buf, "SIGRT_%u", s - __SIGRTMIN);
return buf;
}
#endif
}
sprintf(buf, "%d", sig);
return buf;
}
@ -217,7 +221,7 @@ sprintsigmask_n(const char *prefix, const void *sig_mask, unsigned int bytes)
for (i = 0; (i = next_set_bit(mask, i, size * 32)) >= 0; ) {
++i;
*s++ = sep;
if (i < nsignals) {
if ((unsigned) i < nsignals) {
s = stpcpy(s, signalent[i] + 3);
}
#ifdef SIGRTMIN
@ -428,7 +432,7 @@ printsiginfo(siginfo_t *sip, int verbose)
#endif
{
if (sip->si_errno) {
if (sip->si_errno < 0 || sip->si_errno >= nerrnos)
if (sip->si_errno < 0 || (unsigned) sip->si_errno >= nerrnos)
tprintf(", si_errno=%d", sip->si_errno);
else
tprintf(", si_errno=%s",

4
sock.c
View File

@ -224,8 +224,8 @@ sock_ioctl(struct tcb *tcp, long code, long arg)
} else if (ifc.ifc_buf == NULL) {
tprints("NULL");
} else {
int i;
unsigned nifra = ifc.ifc_len / sizeof(struct ifreq);
unsigned int i;
unsigned int nifra = ifc.ifc_len / sizeof(struct ifreq);
struct ifreq ifra[nifra];
if (umoven(tcp, (unsigned long) ifc.ifc_buf,

View File

@ -675,7 +675,7 @@ expand_tcbtab(void)
callers have pointers and it would be a pain.
So tcbtab is a table of pointers. Since we never
free the TCBs, we allocate a single chunk of many. */
int i = tcbtabsize;
unsigned int i = tcbtabsize;
struct tcb *newtcbs = calloc(tcbtabsize, sizeof(newtcbs[0]));
struct tcb **newtab = realloc(tcbtab, tcbtabsize * 2 * sizeof(tcbtab[0]));
if (!newtab || !newtcbs)
@ -689,7 +689,7 @@ expand_tcbtab(void)
static struct tcb *
alloctcb(int pid)
{
int i;
unsigned int i;
struct tcb *tcp;
if (nprocs == tcbtabsize)
@ -837,7 +837,7 @@ detach(struct tcb *tcp)
* 3. Attach SIGSTOP was already pending (TCB_IGNORE_ONE_SIGSTOP set)
*/
for (;;) {
int sig;
unsigned int sig;
if (waitpid(tcp->pid, &status, __WALL) < 0) {
if (errno == EINTR)
continue;
@ -954,7 +954,7 @@ process_opt_p_list(char *opt)
static void
startup_attach(void)
{
int tcbi;
unsigned int tcbi;
struct tcb *tcp;
/*
@ -1183,7 +1183,7 @@ startup_child(char **argv)
#endif /* USE_DEBUGGING_EXEC */
else {
const char *path;
int m, n, len;
size_t m, n, len;
for (path = getenv("PATH"); path && *path; path += m) {
const char *colon = strchr(path, ':');
@ -1635,6 +1635,7 @@ init(int argc, char *argv[])
struct tcb *tcp;
int c, i;
int optF = 0;
unsigned int tcbi;
struct sigaction sa;
progname = argv[0] ? argv[0] : "strace";
@ -1658,8 +1659,8 @@ init(int argc, char *argv[])
tcp = calloc(tcbtabsize, sizeof(*tcp));
if (!tcp)
die_out_of_memory();
for (c = 0; c < tcbtabsize; c++)
tcbtab[c] = tcp++;
for (tcbi = 0; tcbi < tcbtabsize; tcbi++)
tcbtab[tcbi] = tcp++;
shared_log = stderr;
set_sortby(DEFAULT_SORTBY);
@ -1978,7 +1979,7 @@ init(int argc, char *argv[])
static struct tcb *
pid2tcb(int pid)
{
int i;
unsigned int i;
if (pid <= 0)
return NULL;
@ -1995,7 +1996,7 @@ pid2tcb(int pid)
static void
cleanup(void)
{
int i;
unsigned int i;
struct tcb *tcp;
int fatal_sig;
@ -2049,10 +2050,11 @@ trace(void)
while (1) {
int pid;
int wait_errno;
int status, sig;
int status;
int stopped;
struct tcb *tcp;
unsigned int sig;
unsigned event;
struct tcb *tcp;
if (interrupted)
return;
@ -2185,10 +2187,10 @@ trace(void)
if (ptrace(PTRACE_GETEVENTMSG, pid, NULL, (long) &old_pid) < 0)
goto dont_switch_tcbs;
/* Avoid truncation in pid2tcb() param passing */
if (old_pid > UINT_MAX)
goto dont_switch_tcbs;
if (old_pid <= 0 || old_pid == pid)
goto dont_switch_tcbs;
if ((unsigned long) old_pid > UINT_MAX)
goto dont_switch_tcbs;
execve_thread = pid2tcb(old_pid);
/* It should be !NULL, but I feel paranoid */
if (!execve_thread)

View File

@ -323,7 +323,7 @@ set_personality(int personality)
}
static void
update_personality(struct tcb *tcp, int personality)
update_personality(struct tcb *tcp, unsigned int personality)
{
if (personality == current_personality)
return;
@ -370,7 +370,7 @@ update_personality(struct tcb *tcp, int personality)
static int qual_syscall(), qual_signal(), qual_desc();
static const struct qual_options {
int bitflag;
unsigned int bitflag;
const char *option_name;
int (*qualify)(const char *, int, int);
const char *argument_name;
@ -396,7 +396,7 @@ static const struct qual_options {
};
static void
reallocate_qual(int n)
reallocate_qual(const unsigned int n)
{
unsigned p;
qualbits_t *qp;
@ -410,9 +410,9 @@ reallocate_qual(int n)
}
static void
qualify_one(int n, int bitflag, int not, int pers)
qualify_one(const unsigned int n, unsigned int bitflag, const int not, const int pers)
{
unsigned p;
int p;
if (num_quals <= n)
reallocate_qual(n + 1);
@ -428,10 +428,10 @@ qualify_one(int n, int bitflag, int not, int pers)
}
static int
qual_syscall(const char *s, int bitflag, int not)
qual_syscall(const char *s, const unsigned int bitflag, const int not)
{
unsigned p;
unsigned i;
int p;
unsigned int i;
int rc = -1;
if (*s >= '0' && *s <= '9') {
@ -457,9 +457,9 @@ qual_syscall(const char *s, int bitflag, int not)
}
static int
qual_signal(const char *s, int bitflag, int not)
qual_signal(const char *s, const unsigned int bitflag, const int not)
{
int i;
unsigned int i;
if (*s >= '0' && *s <= '9') {
int signo = string_to_uint(s);
@ -480,7 +480,7 @@ qual_signal(const char *s, int bitflag, int not)
}
static int
qual_desc(const char *s, int bitflag, int not)
qual_desc(const char *s, const unsigned int bitflag, const int not)
{
if (*s >= '0' && *s <= '9') {
int desc = string_to_uint(s);
@ -516,20 +516,20 @@ void
qualify(const char *s)
{
const struct qual_options *opt;
int not;
char *copy;
const char *p;
int i, n;
int not;
unsigned int i;
if (num_quals == 0)
reallocate_qual(MIN_QUALS);
opt = &qual_options[0];
for (i = 0; (p = qual_options[i].option_name); i++) {
n = strlen(p);
if (strncmp(s, p, n) == 0 && s[n] == '=') {
unsigned int len = strlen(p);
if (strncmp(s, p, len) == 0 && s[len] == '=') {
opt = &qual_options[i];
s += n + 1;
s += len + 1;
break;
}
}
@ -555,6 +555,7 @@ qualify(const char *s)
if (!copy)
die_out_of_memory();
for (p = strtok(copy, ","); p; p = strtok(NULL, ",")) {
int n;
if (opt->bitflag == QUAL_TRACE && (n = lookup_class(p)) > 0) {
unsigned pers;
for (pers = 0; pers < SUPPORTED_PERSONALITIES; pers++) {
@ -1220,7 +1221,7 @@ get_scno(struct tcb *tcp)
#elif defined(POWERPC)
scno = ppc_regs.gpr[0];
# ifdef POWERPC64
int currpers;
unsigned int currpers;
/*
* Check for 64/32 bit mode.
@ -1242,7 +1243,7 @@ get_scno(struct tcb *tcp)
# ifndef __X32_SYSCALL_BIT
# define __X32_SYSCALL_BIT 0x40000000
# endif
int currpers;
unsigned int currpers;
# if 1
/* GETREGSET of NT_PRSTATUS tells us regset size,
* which unambiguously detects i386.
@ -1530,7 +1531,7 @@ get_scno(struct tcb *tcp)
if (upeek(tcp->pid, 4*PT_R9, &scno) < 0)
return -1;
#elif defined(TILE)
int currpers;
unsigned int currpers;
scno = tile_regs.regs[10];
# ifdef __tilepro__
currpers = 1;
@ -2660,7 +2661,7 @@ trace_syscall_exiting(struct tcb *tcp)
default:
if (u_error < 0)
tprintf("= -1 E??? (errno %ld)", u_error);
else if (u_error < nerrnos)
else if ((unsigned long) u_error < nerrnos)
tprintf("= -1 %s (%s)", errnoent[u_error],
strerror(u_error));
else

View File

@ -433,7 +433,7 @@ sys_sysctl(struct tcb *tcp)
return printargs(tcp);
size = sizeof(int) * (unsigned long) info.nlen;
name = (size / sizeof(int) != info.nlen) ? NULL : malloc(size);
name = (size / sizeof(int) != (unsigned long) info.nlen) ? NULL : malloc(size);
if (name == NULL ||
umoven(tcp, (unsigned long) info.name, size, (char *) name) < 0) {
free(name);
@ -445,7 +445,7 @@ sys_sysctl(struct tcb *tcp)
}
if (entering(tcp)) {
int cnt = 0, max_cnt;
unsigned int cnt = 0, max_cnt;
tprints("{{");
@ -540,7 +540,7 @@ sys_sysctl(struct tcb *tcp)
max_cnt = max_strlen;
while (cnt < max_cnt)
tprintf(", %x", name[cnt++]);
if (cnt < info.nlen)
if (cnt < (unsigned) info.nlen)
tprints(", ...");
tprintf("}, %d, ", info.nlen);
} else {

14
util.c
View File

@ -141,7 +141,7 @@ tv_mul(struct timeval *tv, const struct timeval *a, int n)
}
const char *
xlookup(const struct xlat *xlat, int val)
xlookup(const struct xlat *xlat, const unsigned int val)
{
for (; xlat->str != NULL; xlat++)
if (xlat->val == val)
@ -210,7 +210,7 @@ next_set_bit(const void *bit_array, unsigned cur_bit, unsigned size_bits)
* Print entry in struct xlat table, if there.
*/
void
printxval(const struct xlat *xlat, int val, const char *dflt)
printxval(const struct xlat *xlat, const unsigned int val, const char *dflt)
{
const char *str = xlookup(xlat, val);
@ -414,7 +414,7 @@ printfd(struct tcb *tcp, int fd)
void
printuid(const char *text, unsigned long uid)
{
tprintf((uid == -1) ? "%s%ld" : "%s%lu", text, uid);
tprintf(((long) uid == -1) ? "%s%ld" : "%s%lu", text, uid);
}
/*
@ -564,7 +564,7 @@ string_quote(const char *instr, char *outstr, long len, int size)
* If path length exceeds `n', append `...' to the output.
*/
void
printpathn(struct tcb *tcp, long addr, int n)
printpathn(struct tcb *tcp, long addr, unsigned int n)
{
char path[MAXPATHLEN + 1];
int nul_seen;
@ -612,7 +612,7 @@ printstr(struct tcb *tcp, long addr, long len)
{
static char *str = NULL;
static char *outstr;
int size;
unsigned int size;
int ellipsis;
if (!addr) {
@ -658,7 +658,7 @@ printstr(struct tcb *tcp, long addr, long len)
* or we were requested to print more than -s NUM chars)...
*/
ellipsis = (string_quote(str, outstr, len, size) &&
(len < 0 || len > max_strlen));
(len < 0 || (unsigned long) len > max_strlen));
tprints(outstr);
if (ellipsis)
@ -1480,7 +1480,7 @@ setbpt(struct tcb *tcp)
* godforsaken tables.
*/
if (clone_scno[current_personality] == 0) {
int i;
unsigned int i;
for (i = 0; i < nsyscalls; ++i)
if (sysent[i].sys_func == sys_clone) {
clone_scno[current_personality] = i;