Commit 1634df8c287da5acbe017ac786e2bb9fcd723eaa

nulltoken 2013-09-07T17:31:30

revparse: Simplify error handling

diff --git a/src/revparse.c b/src/revparse.c
index 05ddc6c..3dde22c 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);