]> err.no Git - dpkg/commitdiff
libdpkg: Make checksubprocerr less deep and a bit more readable
authorGuillem Jover <guillem@debian.org>
Sat, 28 Jun 2008 03:38:17 +0000 (06:38 +0300)
committerGuillem Jover <guillem@debian.org>
Sat, 28 Jun 2008 07:03:24 +0000 (10:03 +0300)
Move the PROCNOERR check before the reporting, and exit directly instead
in case of error.

ChangeLog
lib/mlib.c

index a850820d2e934bc9bf71a5f56826b40d47ce6cc3..8226ee065fdc8c675ea88e719549eba4c5e5296d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-28  Guillem Jover  <guillem@debian.org>
+
+       * lib/mlib.c (checksubprocerr): Move the PROCNOERR check before
+       the reporting, and exit directly instead in case of error.
+
 2008-06-28  Guillem Jover  <guillem@debian.org>
 
        * lib/ehandle.c (badusage): Use ohshit instead of its own error
index 976dc3efb78ed576a132747b9161c9fac0186e38..5f9cee41fc274d7e399be7b232d9a976e2a4e968 100644 (file)
@@ -123,12 +123,13 @@ int checksubprocerr(int status, const char *description, int flags) {
   int n;
   if (WIFEXITED(status)) {
     n= WEXITSTATUS(status); if (!n) return n;
-    if(!(flags & PROCNOERR)) {
-      if(flags & PROCWARN)
-        fprintf(stderr, _("dpkg: warning - %s returned error exit status %d\n"),description,n);
-      else
-        ohshit(_("subprocess %s returned error exit status %d"),description,n);
-    }
+    if (flags & PROCNOERR)
+      return -1;
+    if (flags & PROCWARN)
+      fprintf(stderr, _("dpkg: warning - %s returned error exit status %d\n"),
+              description, n);
+    else
+      ohshit(_("subprocess %s returned error exit status %d"), description, n);
   } else if (WIFSIGNALED(status)) {
     n= WTERMSIG(status); if (!n || ((flags & PROCPIPE) && n==SIGPIPE)) return 0;
     if (flags & PROCWARN)