commit - c18d206ea923da6e421752b7f9064322226dd1cc
commit + 63de41366136877da3e3da97069a20bd177f0d3a
blob - ae241b03118c3f7d51be35b73cc378a70b389b96
blob + 54dd0e8231693c608ac065679a291cd4cf9e0719
--- lib/fileindex.c
+++ lib/fileindex.c
return NULL;
}
-static int
-in_same_subdir(struct got_fileindex_entry *ie, const char *ie_name,
- const char *parent_path, size_t parent_len)
-{
- return (got_path_is_child(ie->path, parent_path, parent_len) &&
- strchr(ie_name, '/') == NULL);
-}
-
/*
* Decide whether ie or te are equivalent, and if they aren't,
* then decide which should be processed first.
size_t parent_len, struct got_tree_entry *te)
{
int cmp = strncmp(ie->path, parent_path, parent_len);
- char *ie_name = ie->path + parent_len;
- while (ie_name[0] == '/')
- ie_name++;
- if (cmp == 0 || in_same_subdir(ie, ie_name, parent_path, parent_len))
+ if (cmp == 0 || parent_len == 0) {
+ char *ie_name = ie->path + parent_len;
+ while (ie_name[0] == '/')
+ ie_name++;
cmp = strcmp(ie_name, te->name);
+ }
return cmp;
}