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));
tprintf (", ");
if (len == sizeof (int)) {
- printnum(tcp, addr, "%ld");
+ printnum_int (tcp, addr, "%d");
}
else {
printstr (tcp, addr, len);
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;