Code

path-list: fix path-list-insert return value
authorJunio C Hamano <junkio@cox.net>
Sat, 11 Nov 2006 22:45:35 +0000 (14:45 -0800)
committerJunio C Hamano <junkio@cox.net>
Sat, 11 Nov 2006 22:46:11 +0000 (14:46 -0800)
When path-list-insert is called on an existing path, it returned an
unrelated element in the list.  Luckily most of the callers are
ignoring the return value, but merge-recursive uses it at three places
and this would have resulted in a bogus rename detection.

Signed-off-by: Junio C Hamano <junkio@cox.net>
path-list.c

index 0c332dc7b556ba894f0452b0172e7dd1e485f929..f8800f8e66e39f035820c2aeb0843fb3ebf65fb3 100644 (file)
@@ -57,7 +57,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;
 }