Prechádzať zdrojové kódy

Return non-zero error code on -S and -L

Wichert Akkerman 25 rokov pred
rodič
commit
e6cbbfaba9
3 zmenil súbory, kde vykonal 11 pridanie a 1 odobranie
  1. 6 0
      ChangeLog
  2. 4 1
      main/enquiry.c
  3. 1 0
      main/main.h

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+Mon Apr 23 23:54:34 CEST 2001 Wichert Akkerman <wakkerma@debian.org>
+
+  * main/main.h: add declaration for nerrs
+  * main/enquiry.c: exit with non-zero exitcode if -l or -S do not 
+    produce any output 
+
 Mon Apr 23 16:09:38 CDT 2001 Adam Heath <doogie@debian.org>
 
   * include/dpkg.h.in, lib/mlib.c, main/archives.c, debian/changelog: Added

+ 4 - 1
main/enquiry.c

@@ -156,8 +156,10 @@ void listpackages(const char *const *argv) {
         if (fnmatch(thisarg,pkg->name,0)) continue;
         list1package(pkg,&head); found++;
       }
-      if (!found)
+      if (!found) {
         fprintf(stderr,_("No packages found matching %s.\n"),thisarg);
+	nerrs++;
+      }
     }
   }
   if (ferror(stdout)) werr("stdout");
@@ -411,6 +413,7 @@ void searchfiles(const char *const *argv) {
     }
     if (!found) {
       fprintf(stderr,_("dpkg: %s not found.\n"),thisarg);
+      nerrs++;
       if (ferror(stderr)) werr("stderr");
     } else {
       if (ferror(stdout)) werr("stdout");

+ 1 - 0
main/main.h

@@ -156,6 +156,7 @@ void cu_prermremove(int argc, void **argv);
 
 /* from errors.c */
 
+int nerrs;
 void print_error_perpackage(const char *emsg, const char *arg);
 void forcibleerr(int forceflag, const char *format, ...) PRINTFFORMAT(2,3);
 int reportbroken_retexitstatus(void);