Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2008-07-21 22:03:49 +0400
committerJunio C Hamano <gitster@pobox.com>2008-07-22 06:11:50 +0400
commitc455c87c5cd42bbbe586b31cea1143132f3a39e4 (patch)
tree5271cd3b8b7be270c78612047f42ff6fd47e4bbe /path-list.c
parent51ef1daa4a0dfaa4d777b2fa949ba051cf800554 (diff)
Rename path_list to string_list
The name path_list was correct for the first usage of that data structure, but it really is a general-purpose string list. $ perl -i -pe 's/path-list/string-list/g' $(git grep -l path-list) $ perl -i -pe 's/path_list/string_list/g' $(git grep -l path_list) $ git mv path-list.h string-list.h $ git mv path-list.c string-list.c $ perl -i -pe 's/has_path/has_string/g' $(git grep -l has_path) $ perl -i -pe 's/path/string/g' string-list.[ch] $ git mv Documentation/technical/api-path-list.txt \ Documentation/technical/api-string-list.txt $ perl -i -pe 's/strdup_paths/strdup_strings/g' $(git grep -l strdup_paths) ... and then fix all users of string-list to access the member "string" instead of "path". Documentation/technical/api-string-list.txt needed some rewrapping, too. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'path-list.c')
-rw-r--r--path-list.c134
1 files changed, 0 insertions, 134 deletions
diff --git a/path-list.c b/path-list.c
deleted file mode 100644
index 92e5cf20fe..0000000000
--- a/path-list.c
+++ /dev/null
@@ -1,134 +0,0 @@
-#include "cache.h"
-#include "path-list.h"
-
-/* if there is no exact match, point to the index where the entry could be
- * inserted */
-static int get_entry_index(const struct path_list *list, const char *path,
- int *exact_match)
-{
- int left = -1, right = list->nr;
-
- while (left + 1 < right) {
- int middle = (left + right) / 2;
- int compare = strcmp(path, list->items[middle].path);
- if (compare < 0)
- right = middle;
- else if (compare > 0)
- left = middle;
- else {
- *exact_match = 1;
- return middle;
- }
- }
-
- *exact_match = 0;
- return right;
-}
-
-/* returns -1-index if already exists */
-static int add_entry(struct path_list *list, const char *path)
-{
- int exact_match;
- int index = get_entry_index(list, path, &exact_match);
-
- if (exact_match)
- return -1 - index;
-
- if (list->nr + 1 >= list->alloc) {
- list->alloc += 32;
- list->items = xrealloc(list->items, list->alloc
- * sizeof(struct path_list_item));
- }
- if (index < list->nr)
- memmove(list->items + index + 1, list->items + index,
- (list->nr - index)
- * sizeof(struct path_list_item));
- list->items[index].path = list->strdup_paths ?
- xstrdup(path) : (char *)path;
- list->items[index].util = NULL;
- list->nr++;
-
- return index;
-}
-
-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;
-
- return list->items + index;
-}
-
-int path_list_has_path(const struct path_list *list, const char *path)
-{
- int exact_match;
- get_entry_index(list, path, &exact_match);
- return exact_match;
-}
-
-struct path_list_item *path_list_lookup(const char *path, struct path_list *list)
-{
- int exact_match, i = get_entry_index(list, path, &exact_match);
- if (!exact_match)
- return NULL;
- return list->items + i;
-}
-
-void path_list_clear(struct path_list *list, int free_util)
-{
- if (list->items) {
- int i;
- 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;
- list->nr = list->alloc = 0;
-}
-
-void print_path_list(const char *text, const struct path_list *p)
-{
- int i;
- if ( text )
- printf("%s\n", text);
- for (i = 0; i < p->nr; i++)
- printf("%s:%p\n", p->items[i].path, p->items[i].util);
-}
-
-struct path_list_item *path_list_append(const char *path, struct path_list *list)
-{
- ALLOC_GROW(list->items, list->nr + 1, list->alloc);
- list->items[list->nr].path =
- list->strdup_paths ? xstrdup(path) : (char *)path;
- return list->items + list->nr++;
-}
-
-static int cmp_items(const void *a, const void *b)
-{
- const struct path_list_item *one = a;
- const struct path_list_item *two = b;
- return strcmp(one->path, two->path);
-}
-
-void sort_path_list(struct path_list *list)
-{
- qsort(list->items, list->nr, sizeof(*list->items), cmp_items);
-}
-
-int unsorted_path_list_has_path(struct path_list *list, const char *path)
-{
- int i;
- for (i = 0; i < list->nr; i++)
- if (!strcmp(path, list->items[i].path))
- return 1;
- return 0;
-}
-