Trivial tweaks to error messages

* strace.c (test_ptrace_setoptions_followfork): Use kill_save_errno
instead of kill.
(trace): Use perror_msg instead of perror.
* count.c (set_sortby): Use error_msg_and_die instead of fprintf.
* syscall.c (qualify): Likewise.
* util.c (ptrace_restart): Expand error message.
(umoven): Likewise.
(umovestr): Likewise.
(upeek): Use perror_msg instead of sprintf + perror.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2012-03-08 11:54:10 +01:00
parent aea4b876c8
commit 4c65c44478
4 changed files with 12 additions and 16 deletions

View File

@ -130,8 +130,7 @@ set_sortby(const char *sortby)
else if (strcmp(sortby, "nothing") == 0)
sortfun = NULL;
else {
fprintf(stderr, "invalid sortby: `%s'\n", sortby);
exit(1);
error_msg_and_die("invalid sortby: '%s'", sortby);
}
}

View File

@ -775,7 +775,7 @@ test_ptrace_setoptions_followfork(void)
if (ptrace(PTRACE_TRACEME, 0L, 0L, 0L) < 0)
perror_msg_and_die("%s: PTRACE_TRACEME doesn't work",
__func__);
kill(pid, SIGSTOP);
kill_save_errno(pid, SIGSTOP);
if (fork() < 0)
perror_msg_and_die("fork");
_exit(0);
@ -789,7 +789,7 @@ test_ptrace_setoptions_followfork(void)
if (tracee_pid <= 0) {
if (errno == EINTR)
continue;
else if (errno == ECHILD)
if (errno == ECHILD)
break;
kill_save_errno(pid, SIGKILL);
perror_msg_and_die("%s: unexpected wait result %d",
@ -813,7 +813,7 @@ test_ptrace_setoptions_followfork(void)
if (!WIFSTOPPED(status)) {
if (tracee_pid != pid)
kill_save_errno(tracee_pid, SIGKILL);
kill(pid, SIGKILL);
kill_save_errno(pid, SIGKILL);
error_msg_and_die("%s: unexpected wait status %x",
__func__, status);
}
@ -1655,7 +1655,7 @@ trace(void)
return 0;
default:
errno = wait_errno;
perror("strace: wait");
perror_msg("wait");
return -1;
}
}

View File

@ -510,9 +510,8 @@ qualify(const char *s)
continue;
}
if (opt->qualify(p, opt->bitflag, not)) {
fprintf(stderr, "strace: invalid %s `%s'\n",
error_msg_and_die("invalid %s '%s'",
opt->argument_name, p);
exit(1);
}
}
free(copy);

14
util.c
View File

@ -219,7 +219,7 @@ ptrace_restart(int op, struct tcb *tcp, int sig)
if (op == PTRACE_LISTEN)
msg = "LISTEN";
#endif
perror_msg("ptrace(PTRACE_%s,1,%d)", msg, sig);
perror_msg("ptrace(PTRACE_%s,pid:%d,1,sig:%d)", msg, tcp->pid, sig);
return -1;
}
@ -851,7 +851,7 @@ umoven(struct tcb *tcp, long addr, int len, char *laddr)
if (errno) {
/* But if not started, we had a bogus address. */
if (addr != 0 && errno != EIO && errno != ESRCH)
perror("ptrace: umoven");
perror_msg("umoven: PTRACE_PEEKDATA pid:%d @0x%lx", pid, addr);
return -1;
}
started = 1;
@ -868,7 +868,7 @@ umoven(struct tcb *tcp, long addr, int len, char *laddr)
return 0;
}
if (addr != 0 && errno != EIO && errno != ESRCH)
perror("ptrace: umoven");
perror_msg("umoven: PTRACE_PEEKDATA pid:%d @0x%lx", pid, addr);
return -1;
}
started = 1;
@ -966,7 +966,7 @@ umovestr(struct tcb *tcp, long addr, int len, char *laddr)
u.val = ptrace(PTRACE_PEEKDATA, pid, (char *)addr, 0);
if (errno) {
if (addr != 0 && errno != EIO && errno != ESRCH)
perror("umovestr");
perror_msg("umovestr: PTRACE_PEEKDATA pid:%d @0x%lx", pid, addr);
return -1;
}
started = 1;
@ -986,7 +986,7 @@ umovestr(struct tcb *tcp, long addr, int len, char *laddr)
return 0;
}
if (addr != 0 && errno != EIO && errno != ESRCH)
perror("umovestr");
perror_msg("umovestr: PTRACE_PEEKDATA pid:%d @0x%lx", pid, addr);
return -1;
}
started = 1;
@ -1014,9 +1014,7 @@ upeek(struct tcb *tcp, long off, long *res)
val = do_ptrace(PTRACE_PEEKUSER, tcp, (char *) off, 0);
if (val == -1 && errno) {
if (errno != ESRCH) {
char buf[60];
sprintf(buf, "upeek: ptrace(PTRACE_PEEKUSER,%d,%lu,0)", tcp->pid, off);
perror(buf);
perror_msg("upeek: PTRACE_PEEKUSER pid:%d @0x%lx)", tcp->pid, off);
}
return -1;
}