]> err.no Git - pkg-config/commitdiff
Try to print out all the errors and not just the first.
authorTollef Fog Heen <tfheen@err.no>
Sun, 16 Oct 2005 18:06:02 +0000 (18:06 +0000)
committerTollef Fog Heen <tfheen@err.no>
Sun, 16 Oct 2005 18:06:02 +0000 (18:06 +0000)
2005-10-16  Tollef Fog Heen  <tfheen@err.no>

* main.c (main): Try to print out all the errors and not just the
first.

ChangeLog
main.c

index 78518defd87584a8fcd6f0d1547e2302d1290a86..75288452d67fee3baac1d24746a5fe6163f57af4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-10-16  Tollef Fog Heen  <tfheen@err.no>
 
+       * main.c (main): Try to print out all the errors and not just the
+       first.
+
        * pkg.m4: Use --short-errors if it's available.
 
        * pkg.c (get_package_quiet): Add get_package_quiet which is just
diff --git a/main.c b/main.c
index 2d31d15f744b87a9c41fe2e7c544602752a37ed6..d0df377dbed0862b006de2a10fe2aeb5053cae5d 100644 (file)
--- a/main.c
+++ b/main.c
@@ -459,6 +459,7 @@ main (int argc, char **argv)
   g_strstrip (str->str);
 
   {
+    gboolean failed = FALSE;
     GSList *reqs;
     GSList *iter;
 
@@ -479,12 +480,14 @@ main (int argc, char **argv)
 
         if (req == NULL)
           {
+            failed = TRUE;
             verbose_error ("No package '%s' found\n", ver->name);
-            return 1;
+            goto nextiter;
           }
 
         if (!version_test (ver->comparison, req->version, ver->version))
           {
+            failed = TRUE;
             verbose_error ("Requested '%s %s %s' but version of %s is %s\n",
                            ver->name,
                            comparison_to_str (ver->comparison),
@@ -496,13 +499,19 @@ main (int argc, char **argv)
              verbose_error ("You may find new versions of %s at %s\n",
                             req->name, req->url);
 
-            return 1;
+            goto nextiter;
           }
 
         packages = g_slist_prepend (packages, req);
 
+      nextiter:
         iter = g_slist_next (iter);
       }
+
+    if (failed) {
+      return 1;
+    }
+
   }
 
   g_string_free (str, TRUE);