Просмотр исходного кода

dpkg, dselect: Use subproc_wait_check() instead of ad-hoc code in call sites

Guillem Jover лет назад: 12
Родитель
Сommit
5c4fdbe903
2 измененных файлов с 7 добавлено и 7 удалено
  1. 4 4
      dselect/method.cc
  2. 3 3
      src/unpack.c

+ 4 - 4
dselect/method.cc

@@ -136,7 +136,7 @@ static urqresult
 falliblesubprocess(struct command *cmd)
 {
   pid_t pid;
-  int status, i, c;
+  int i, c;
 
   cursesoff();
 
@@ -148,12 +148,12 @@ falliblesubprocess(struct command *cmd)
     command_exec(cmd);
   }
 
-  status = subproc_wait(pid, cmd->name);
+  fprintf(stderr, "\n");
+
+  i = subproc_wait_check(pid, cmd->name, PROCWARN);
 
   pop_cleanup(ehflag_normaltidy);
 
-  fprintf(stderr, "\n");
-  i = subproc_check(status, cmd->name, PROCWARN);
   if (i == 0) {
     sleep(1);
     return urqr_normal;

+ 3 - 3
src/unpack.c

@@ -103,8 +103,8 @@ deb_reassemble(const char **filename, const char **pfilename)
     ohshite(_("unable to execute %s (%s)"),
             _("split package reassembly"), SPLITTER);
   }
-  status = subproc_wait(pid, SPLITTER);
-  switch (WIFEXITED(status) ? WEXITSTATUS(status) : -1) {
+  status = subproc_wait_check(pid, SPLITTER, PROCNOERR);
+  switch (status) {
   case 0:
     /* It was a part - is it complete? */
     if (!stat(reasmbuf, &stab)) {
@@ -120,7 +120,7 @@ deb_reassemble(const char **filename, const char **pfilename)
     /* No, it wasn't a part. */
     break;
   default:
-    subproc_check(status, SPLITTER, 0);
+    internerr("unexpected exit status %d from %s", status, SPLITTER);
   }
 
   return true;