diff options
author | Guillem Jover <guillem@debian.org> | 2011-01-20 18:26:26 +0100 |
---|---|---|
committer | Guillem Jover <guillem@debian.org> | 2011-01-31 06:30:22 +0100 |
commit | ad95ee210312c38c12c6054e13dd45c1a8ff1c6c (patch) | |
tree | ae3d4bbe3c315bc9bbabe8f9687f26284dae3c48 /dselect/method.cc | |
parent | ef339f3715418ddaabb7923a7d5157f522687954 (diff) | |
download | dpkg-ad95ee210312c38c12c6054e13dd45c1a8ff1c6c.tar.gz |
dselect: Use subproc_check in falliblesubprocess instead of ad-hoc code
Diffstat (limited to 'dselect/method.cc')
-rw-r--r-- | dselect/method.cc | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/dselect/method.cc b/dselect/method.cc index a2107ed7f..b7cd44175 100644 --- a/dselect/method.cc +++ b/dselect/method.cc @@ -156,26 +156,12 @@ falliblesubprocess(struct command *cmd) pop_cleanup(ehflag_normaltidy); - if (WIFEXITED(status) && !WEXITSTATUS(status)) { + fprintf(stderr, "\n"); + i = subproc_check(status, cmd->name, PROCWARN); + if (i == 0) { sleep(1); return urqr_normal; } - fprintf(stderr, "\n%s ", cmd->name); - if (WIFEXITED(status)) { - i= WEXITSTATUS(status); - fprintf(stderr,_("returned error exit status %d.\n"),i); - } else if (WIFSIGNALED(status)) { - i= WTERMSIG(status); - if (i == SIGINT) { - fprintf(stderr,_("was interrupted.\n")); - } else { - fprintf(stderr,_("was terminated by a signal: %s.\n"),strsignal(i)); - } - if (WCOREDUMP(status)) - fprintf(stderr,_("(It left a coredump.)\n")); - } else { - fprintf(stderr,_("failed with an unknown wait return code %d.\n"),status); - } fprintf(stderr,_("Press <enter> to continue.\n")); m_output(stderr, _("<standard error>")); do { c= fgetc(stdin); } while ((c == ERR && errno==EINTR) || ((c != '\n') && c != EOF)); |