diff: fix "diff dir1 dir2/". Closes bug 2203

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Matheus Izvekov 2010-07-09 19:40:00 +02:00 committed by Denys Vlasenko
parent 1883cb1746
commit 61f5f7823c
2 changed files with 33 additions and 4 deletions

View file

@ -760,9 +760,11 @@ static int FAST_FUNC add_to_dirlist(const char *filename,
void *userdata, int depth UNUSED_PARAM)
{
struct dlist *const l = userdata;
const char *file = filename + l->len;
l->dl = xrealloc_vector(l->dl, 6, l->e);
/* + 1 skips "/" after dirname */
l->dl[l->e] = xstrdup(filename + l->len + 1);
while(*file == '/')
file++;
l->dl[l->e] = xstrdup(file);
l->e++;
return TRUE;
}