{
int i, prev_i = 0;
- if (!flist || flist->count == 0)
+ if (!flist)
+ return;
+ if (flist->count == 0) {
+ flist->high = -1;
return;
+ }
sorting_flist = flist;
qsort(flist->files, flist->count,
}
/* Make sure that if we unduplicate '.', that we don't
* lose track of a user-specified top directory. */
- if (flist->files[drop]->flags & FLAG_TOP_DIR)
- flist->files[keep]->flags |= FLAG_TOP_DIR;
+ flist->files[keep]->flags |= flist->files[drop]->flags
+ & (FLAG_TOP_DIR|FLAG_DEL_HERE);
clear_file(drop, flist);