X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=path-list.c;h=3d83b7ba9e8c934db8d8ecc9d545cab25be89837;hb=9fac800cae287256cea0512f5c5effae7a7aa784;hp=b1ee72d1dc25085f2114748001d21e3e518e54ee;hpb=0f2ca9d5c99436d048bfe0a7161b4365a731938f;p=git.git diff --git a/path-list.c b/path-list.c index b1ee72d1d..3d83b7ba9 100644 --- a/path-list.c +++ b/path-list.c @@ -1,4 +1,3 @@ -#include #include "cache.h" #include "path-list.h" @@ -45,7 +44,7 @@ static int add_entry(struct path_list *list, const char *path) (list->nr - index) * sizeof(struct path_list_item)); list->items[index].path = list->strdup_paths ? - strdup(path) : (char *)path; + xstrdup(path) : (char *)path; list->items[index].util = NULL; list->nr++; @@ -57,7 +56,7 @@ struct path_list_item *path_list_insert(const char *path, struct path_list *list int index = add_entry(list, path); if (index < 0) - index = 1 - index; + index = -1 - index; return list->items + index; } @@ -77,16 +76,18 @@ struct path_list_item *path_list_lookup(const char *path, struct path_list *list return list->items + i; } -void path_list_clear(struct path_list *list, int free_items) +void path_list_clear(struct path_list *list, int free_util) { if (list->items) { int i; - if (free_items) - for (i = 0; i < list->nr; i++) { - if (list->strdup_paths) - free(list->items[i].path); + if (list->strdup_paths) { + for (i = 0; i < list->nr; i++) + free(list->items[i].path); + } + if (free_util) { + for (i = 0; i < list->nr; i++) free(list->items[i].util); - } + } free(list->items); } list->items = NULL; @@ -101,4 +102,3 @@ void print_path_list(const char *text, const struct path_list *p) for (i = 0; i < p->nr; i++) printf("%s:%p\n", p->items[i].path, p->items[i].util); } -