object.c: Move to new error handling mechanism
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
diff --git a/src/object.c b/src/object.c
index 0572663..e4d9da0 100644
--- a/src/object.c
+++ b/src/object.c
@@ -86,7 +86,7 @@ static int create_object(git_object **object_out, git_otype type)
break;
default:
- return GIT_EINVALIDTYPE;
+ return git__throw(GIT_EINVALIDTYPE, "Failed to create object. Given type is invalid");
}
object->type = type;
@@ -106,7 +106,7 @@ int git_object_lookup(git_object **object_out, git_repository *repo, const git_o
object = git_cache_get(&repo->objects, id);
if (object != NULL) {
if (type != GIT_OBJ_ANY && type != object->type)
- return GIT_EINVALIDTYPE;
+ return git__throw(GIT_EINVALIDTYPE, "Failed to lookup object. Given type does not match found type");
*object_out = object;
return GIT_SUCCESS;
@@ -114,17 +114,17 @@ int git_object_lookup(git_object **object_out, git_repository *repo, const git_o
error = git_odb_read(&odb_obj, repo->db, id);
if (error < GIT_SUCCESS)
- return error;
+ return git__rethrow(error, "Failed to lookup object");
if (type != GIT_OBJ_ANY && type != odb_obj->raw.type) {
git_odb_object_close(odb_obj);
- return GIT_EINVALIDTYPE;
+ return git__throw(GIT_EINVALIDTYPE, "Failed to lookup object. Given type does not match found type");
}
type = odb_obj->raw.type;
if ((error = create_object(&object, type)) < GIT_SUCCESS)
- return error;
+ return git__rethrow(error, "Failed to lookup object");
/* Initialize parent object */
git_oid_cpy(&object->cached.oid, id);
@@ -155,7 +155,7 @@ int git_object_lookup(git_object **object_out, git_repository *repo, const git_o
if (error < GIT_SUCCESS) {
git_object__free(object);
- return error;
+ return git__rethrow(error, "Failed to lookup object");
}
*object_out = git_cache_try_store(&repo->objects, object);