Skip to content

Commit be4717d

Browse files
committed
path: fix "comparison always true" warning
1 parent 21496c3 commit be4717d

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/path.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1887,7 +1887,7 @@ extern int git_path_is_gitfile(const char *path, size_t pathlen, git_path_gitfil
18871887
const char *file, *hash;
18881888
size_t filelen;
18891889

1890-
if (gitfile < 0 && gitfile >= ARRAY_SIZE(gitfiles)) {
1890+
if (!(gitfile >= GIT_PATH_GITFILE_GITIGNORE && gitfile < ARRAY_SIZE(gitfiles))) {
18911891
giterr_set(GITERR_OS, "invalid gitfile for path validation");
18921892
return -1;
18931893
}

tests/core/path.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -676,3 +676,12 @@ void test_core_path__16_resolve_relative(void)
676676
assert_common_dirlen(6, "a/b/c/foo.txt", "a/b/c/d/e/bar.txt");
677677
assert_common_dirlen(7, "/a/b/c/foo.txt", "/a/b/c/d/e/bar.txt");
678678
}
679+
680+
void test_core_path__git_path_is_file(void)
681+
{
682+
cl_git_fail(git_path_is_gitfile("blob", 4, -1, GIT_PATH_FS_HFS));
683+
cl_git_pass(git_path_is_gitfile("blob", 4, GIT_PATH_GITFILE_GITIGNORE, GIT_PATH_FS_HFS));
684+
cl_git_pass(git_path_is_gitfile("blob", 4, GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_HFS));
685+
cl_git_pass(git_path_is_gitfile("blob", 4, GIT_PATH_GITFILE_GITATTRIBUTES, GIT_PATH_FS_HFS));
686+
cl_git_fail(git_path_is_gitfile("blob", 4, 3, GIT_PATH_FS_HFS));
687+
}

0 commit comments

Comments
 (0)