diff options
Diffstat (limited to 'src/tree.c')
-rw-r--r-- | src/tree.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/tree.c b/src/tree.c index 11123a18a..17b3c378d 100644 --- a/src/tree.c +++ b/src/tree.c @@ -55,23 +55,28 @@ static int valid_entry_name(const char *filename) strcmp(filename, DOT_GIT) != 0)); } -int git_tree_entry_cmp(const git_tree_entry *e1, const git_tree_entry *e2) +static int entry_sort_cmp(const void *a, const void *b) { + const git_tree_entry *e1 = (const git_tree_entry *)a; + const git_tree_entry *e2 = (const git_tree_entry *)b; + return git_path_cmp( e1->filename, e1->filename_len, git_tree_entry__is_tree(e1), - e2->filename, e2->filename_len, git_tree_entry__is_tree(e2)); + e2->filename, e2->filename_len, git_tree_entry__is_tree(e2), + git__strncmp); } -int git_tree_entry_icmp(const git_tree_entry *e1, const git_tree_entry *e2) +int git_tree_entry_cmp(const git_tree_entry *e1, const git_tree_entry *e2) { - return git_path_icmp( - e1->filename, e1->filename_len, git_tree_entry__is_tree(e1), - e2->filename, e2->filename_len, git_tree_entry__is_tree(e2)); + return entry_sort_cmp(e1, e2); } -static int entry_sort_cmp(const void *a, const void *b) +int git_tree_entry_icmp(const git_tree_entry *e1, const git_tree_entry *e2) { - return git_tree_entry_cmp((const git_tree_entry *)a, (const git_tree_entry *)b); + return git_path_cmp( + e1->filename, e1->filename_len, git_tree_entry__is_tree(e1), + e2->filename, e2->filename_len, git_tree_entry__is_tree(e2), + git__strncasecmp); } static git_tree_entry *alloc_entry(const char *filename) |