diff options
Diffstat (limited to 'tests/test_helpers.c')
-rw-r--r-- | tests/test_helpers.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/tests/test_helpers.c b/tests/test_helpers.c index 08434b8e1..86192233a 100644 --- a/tests/test_helpers.c +++ b/tests/test_helpers.c @@ -84,18 +84,23 @@ int remove_object_files(const char *odb_dir, object_data *d) return 0; } -int remove_loose_object(const char *odb_dir, git_object *object) +int remove_loose_object(const char *repository_folder, git_object *object) { + static const char *objects_folder = "objects/"; + char *ptr, *full_path, *top_folder; - int path_length; + int path_length, objects_length; + + assert(repository_folder && object); - assert(odb_dir && object); + objects_length = strlen(objects_folder); + path_length = strlen(repository_folder); + ptr = full_path = git__malloc(path_length + objects_length + GIT_OID_HEXSZ + 3); - path_length = strlen(odb_dir); - ptr = full_path = git__malloc(path_length + GIT_OID_HEXSZ + 3); + strcpy(ptr, repository_folder); + strcpy(ptr + path_length, objects_folder); - strcpy(ptr, odb_dir); - ptr = top_folder = ptr + path_length; + ptr = top_folder = ptr + path_length + objects_length; *ptr++ = '/'; git_oid_pathfmt(ptr, git_object_id(object)); ptr += GIT_OID_HEXSZ + 1; |