summaryrefslogtreecommitdiff
path: root/examples/rev-list.c
diff options
context:
space:
mode:
authorBen Straub <bs@github.com>2013-10-30 12:34:03 -0700
committerBen Straub <bs@github.com>2013-10-30 12:34:03 -0700
commit784b3abbd52d786a56151ae1c8124fc8ffa432e3 (patch)
treed60523b0da36702397e15d9f231390421c809ea3 /examples/rev-list.c
parent9d83d368fcebaeb51041212dad165b991c0a8329 (diff)
downloadlibgit2-784b3abbd52d786a56151ae1c8124fc8ffa432e3.tar.gz
rev-list.c example: use common utils, reorganize
Diffstat (limited to 'examples/rev-list.c')
-rw-r--r--examples/rev-list.c62
1 files changed, 28 insertions, 34 deletions
diff --git a/examples/rev-list.c b/examples/rev-list.c
index 1fb7ebf9f..9330c644c 100644
--- a/examples/rev-list.c
+++ b/examples/rev-list.c
@@ -1,17 +1,35 @@
-#include <stdio.h>
-#include <string.h>
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
-#include <git2.h>
+#include "common.h"
-static void check_error(int error_code, const char *action)
+static int revwalk_parseopts(git_repository *repo, git_revwalk *walk, int nopts, char **opts);
+
+int main (int argc, char **argv)
{
- if (!error_code)
- return;
+ git_repository *repo;
+ git_revwalk *walk;
+ git_oid oid;
+ char buf[41];
+
+ git_threads_init();
- const git_error *error = giterr_last();
- fprintf(stderr, "Error %d %s: %s\n", -error_code, action,
- (error && error->message) ? error->message : "???");
- exit(1);
+ check_lg2(git_repository_open_ext(&repo, ".", 0, NULL), "opening repository", NULL);
+ check_lg2(git_revwalk_new(&walk, repo), "allocating revwalk", NULL);
+ check_lg2(revwalk_parseopts(repo, walk, argc-1, argv+1), "parsing options", NULL);
+
+ while (!git_revwalk_next(&oid, walk)) {
+ git_oid_fmt(buf, &oid);
+ buf[40] = '\0';
+ printf("%s\n", buf);
+ }
+
+ git_threads_shutdown();
+ return 0;
}
static int push_commit(git_revwalk *walk, const git_oid *oid, int hide)
@@ -93,27 +111,3 @@ static int revwalk_parseopts(git_repository *repo, git_revwalk *walk, int nopts,
return 0;
}
-int main (int argc, char **argv)
-{
- int error;
- git_repository *repo;
- git_revwalk *walk;
- git_oid oid;
- char buf[41];
-
- error = git_repository_open_ext(&repo, ".", 0, NULL);
- check_error(error, "opening repository");
-
- error = git_revwalk_new(&walk, repo);
- check_error(error, "allocating revwalk");
- error = revwalk_parseopts(repo, walk, argc-1, argv+1);
- check_error(error, "parsing options");
-
- while (!git_revwalk_next(&oid, walk)) {
- git_oid_fmt(buf, &oid);
- buf[40] = '\0';
- printf("%s\n", buf);
- }
-
- return 0;
-}