2005-07-04 Roland McGrath <roland@redhat.com>

* util.c (printnum_int): New function, printnum with s/long/int/.
	* defs.h: Declare it.
	* net.c (printsockopt): Use it for int-sized option.
	Fixes RH#162449.
This commit is contained in:
Roland McGrath 2005-07-04 23:28:10 +00:00
parent 43cb21f2e6
commit 9814a94bd1
3 changed files with 23 additions and 1 deletions

1
defs.h
View File

@ -437,6 +437,7 @@ extern void dumpiov P((struct tcb *, int, long));
extern void dumpstr P((struct tcb *, long, int));
extern void printstr P((struct tcb *, long, int));
extern void printnum P((struct tcb *, long, char *));
extern void printnum_int P((struct tcb *, long, char *));
extern void printpath P((struct tcb *, long));
extern void printpathn P((struct tcb *, long, int));
extern void printtv P((struct tcb *, long));

2
net.c
View File

@ -1710,7 +1710,7 @@ int len;
tprintf (", ");
if (len == sizeof (int)) {
printnum(tcp, addr, "%ld");
printnum_int (tcp, addr, "%d");
}
else {
printstr (tcp, addr, len);

21
util.c
View File

@ -349,6 +349,27 @@ char *fmt;
tprintf("]");
}
void
printnum_int(tcp, addr, fmt)
struct tcb *tcp;
long addr;
char *fmt;
{
int num;
if (!addr) {
tprintf("NULL");
return;
}
if (umove(tcp, addr, &num) < 0) {
tprintf("%#lx", addr);
return;
}
tprintf("[");
tprintf(fmt, num);
tprintf("]");
}
void
printuid(text, uid)
const char *text;