Fix windows specific issues - msvc compilation warnings - not released file handle that prevents file removal
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
diff --git a/src/fileops.c b/src/fileops.c
index afca032..ab3f43c 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -305,6 +305,8 @@ static int _rmdir_recurs_cb(void *GIT_UNUSED(nil), char *path)
{
int error = GIT_SUCCESS;
+ GIT_UNUSED_ARG(nil)
+
error = git_futils_isdir(path);
if (error == GIT_SUCCESS) {
size_t root_size = strlen(path);
diff --git a/src/fileops.h b/src/fileops.h
index a2f66a5..cd3ff2f 100644
--- a/src/fileops.h
+++ b/src/fileops.h
@@ -106,7 +106,7 @@ extern git_off_t git_futils_filesize(git_file fd);
extern int git_futils_rmdir_recurs(const char *path);
/* Taken from git.git */
-static inline int is_dot_or_dotdot(const char *name)
+GIT_INLINE(int) is_dot_or_dotdot(const char *name)
{
return (name[0] == '.' &&
(name[1] == '\0' ||
diff --git a/tests/t00-core.c b/tests/t00-core.c
index 0042da3..1e9f975 100644
--- a/tests/t00-core.c
+++ b/tests/t00-core.c
@@ -513,13 +513,14 @@ END_TEST
BEGIN_TEST(rmdir1, "make sure non-empty dir cannot be deleted recusively")
char file[GIT_PATH_MAX];
+ int fd;
must_pass(setup_empty_tmp_dir());
git_path_join(file, empty_tmp_dir, "/two/file.txt");
- must_pass(fd = p_creat(file, 0755));
+ fd = p_creat(file, 0755);
must_pass(fd);
- must_fail(git_futils_rmdir_recurs(empty_tmp_dir));
must_pass(p_close(fd));
+ must_fail(git_futils_rmdir_recurs(empty_tmp_dir));
must_pass(p_unlink(file));
must_pass(git_futils_rmdir_recurs(empty_tmp_dir));
END_TEST