Commit 3b3a1017 by nulltoken Committed by Vicent Marti

Added rmdir_recurs(), a test helper function which recursively removes the content of a directory.

parent 47d0db78
...@@ -175,3 +175,29 @@ int cmp_files(const char *a, const char *b) ...@@ -175,3 +175,29 @@ int cmp_files(const char *a, const char *b)
return error; return error;
} }
static int remove_filesystem_element_recurs(void *GIT_UNUSED(nil), char *path)
{
char temp_path[GIT_PATH_MAX];
int error = GIT_SUCCESS;
GIT_UNUSED_ARG(nil);
error = gitfo_isdir(path);
if (error == GIT_SUCCESS)
{
strcpy(temp_path, path);
error = gitfo_dirent(temp_path, sizeof(temp_path), remove_filesystem_element_recurs, NULL);
if (error < GIT_SUCCESS)
return error;
return rmdir(path);
}
return gitfo_unlink(path);
}
int rmdir_recurs(char *directory_path)
{
return remove_filesystem_element_recurs(NULL, directory_path);
}
...@@ -58,6 +58,7 @@ extern int remove_loose_object(const char *odb_dir, git_object *object); ...@@ -58,6 +58,7 @@ extern int remove_loose_object(const char *odb_dir, git_object *object);
extern int cmp_files(const char *a, const char *b); extern int cmp_files(const char *a, const char *b);
extern int copy_file(const char *source, const char *dest); extern int copy_file(const char *source, const char *dest);
extern int rmdir_recurs(char *directory_path);
#endif #endif
/* INCLUDE_test_helpers_h__ */ /* INCLUDE_test_helpers_h__ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment