From: Roland McGrath Date: Mon, 4 Jul 2005 23:28:10 +0000 (+0000) Subject: 2005-07-04 Roland McGrath X-Git-Tag: v4.5.18~357 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9814a94bd10aea81b8bcb29e2ba167b09d70cedb;p=strace 2005-07-04 Roland McGrath * 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. --- diff --git a/defs.h b/defs.h index 89eaddbe..c3b3050f 100644 --- a/defs.h +++ b/defs.h @@ -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)); diff --git a/net.c b/net.c index ab71106d..1c052547 100644 --- a/net.c +++ b/net.c @@ -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); diff --git a/util.c b/util.c index d65f42ce..39549225 100644 --- a/util.c +++ b/util.c @@ -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;