summaryrefslogtreecommitdiff
path: root/src/revparse.c
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2013-09-07 17:31:30 +0200
committernulltoken <emeric.fermas@gmail.com>2013-09-07 17:48:06 +0200
commit1634df8c287da5acbe017ac786e2bb9fcd723eaa (patch)
tree480a5963d920cee022ca4eb0c195edc3887f5a3c /src/revparse.c
parenta8d67afe42e6c79cb15383ceb1264f665dc4ad8d (diff)
downloadlibgit2-1634df8c287da5acbe017ac786e2bb9fcd723eaa.tar.gz
revparse: Simplify error handling
Diffstat (limited to 'src/revparse.c')
-rw-r--r--src/revparse.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/revparse.c b/src/revparse.c
index 05ddc6c35..3dde22ce1 100644
--- a/src/revparse.c
+++ b/src/revparse.c
@@ -93,11 +93,7 @@ static int revparse_lookup_object(
int error;
git_reference *ref;
- error = maybe_sha(object_out, repo, spec);
- if (!error)
- return 0;
-
- if (error < 0 && error != GIT_ENOTFOUND)
+ if ((error = maybe_sha(object_out, repo, spec)) != GIT_ENOTFOUND)
return error;
error = git_reference_dwim(&ref, repo, spec);
@@ -112,18 +108,14 @@ static int revparse_lookup_object(
return error;
}
- if (error < 0 && error != GIT_ENOTFOUND)
+ if (error != GIT_ENOTFOUND)
return error;
if ((strlen(spec) < GIT_OID_HEXSZ) &&
((error = maybe_abbrev(object_out, repo, spec)) != GIT_ENOTFOUND))
return error;
- error = maybe_describe(object_out, repo, spec);
- if (!error)
- return 0;
-
- if (error < 0 && error != GIT_ENOTFOUND)
+ if ((error = maybe_describe(object_out, repo, spec)) != GIT_ENOTFOUND)
return error;
giterr_set(GITERR_REFERENCE, "Revspec '%s' not found.", spec);