summaryrefslogtreecommitdiff
path: root/dselect/method.cc
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2011-01-20 18:26:26 +0100
committerGuillem Jover <guillem@debian.org>2011-01-31 06:30:22 +0100
commitad95ee210312c38c12c6054e13dd45c1a8ff1c6c (patch)
treeae3d4bbe3c315bc9bbabe8f9687f26284dae3c48 /dselect/method.cc
parentef339f3715418ddaabb7923a7d5157f522687954 (diff)
downloaddpkg-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.cc20
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));