stagit-index: continue making list, but return error code - stagit-gopher - A git gopher frontend. (mirror)
git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/
Log
Files
Refs
Tags
README
LICENSE
---
commit a8943ce1f85bb1970b5fad3c91a514505da2946a
parent 35a3d9b3fc34b42506cea0fbdabaaa8fae6981a2
Author: Hiltjo Posthuma 
Date:   Tue,  5 Jan 2016 22:30:59 +0100

stagit-index: continue making list, but return error code

Diffstat:
  M stagit-index.c                      |      13 +++++++------

1 file changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/stagit-index.c b/stagit-index.c
@@ -169,7 +169,7 @@ main(int argc, char *argv[])
         const git_error *e = NULL;
         FILE *fp;
         char path[PATH_MAX], *p;
-        int i, status;
+        int i, ret = 0;
 
         if (argc < 2) {
                 fprintf(stderr, "%s [repodir...]\n", argv[0]);
@@ -182,11 +182,12 @@ main(int argc, char *argv[])
         for (i = 1; i < argc; i++) {
                 repodir = argv[i];
 
-                if ((status = git_repository_open_ext(&repo, repodir,
-                        GIT_REPOSITORY_OPEN_NO_SEARCH, NULL)) < 0) {
+                if (git_repository_open_ext(&repo, repodir,
+                    GIT_REPOSITORY_OPEN_NO_SEARCH, NULL)) {
                         e = giterr_last();
-                        fprintf(stderr, "error %d/%d: %s\n", status, e->klass, e->message);
-                        return status;
+                        fprintf(stderr, "%s: %s\n", argv[0], e->message);
+                        ret = 1;
+                        continue;
                 }
 
                 /* use directory name as name */
@@ -232,5 +233,5 @@ main(int argc, char *argv[])
         git_repository_free(repo);
         git_libgit2_shutdown();
 
-        return 0;
+        return ret;
 }