rdev_major = 0;
uid = 0, gid = 0;
*lastname = '\0';
+ lastdir_len = -1;
return;
}
char *basename, *dirname, *bp;
unsigned short flags = 0;
- if (!flist) /* lastdir isn't valid if flist is NULL */
+ if (!flist || !flist->count) /* Ignore lastdir when invalid. */
lastdir_len = -1;
if (strlcpy(thisname, fname, sizeof thisname)
if (!(c1 = (uchar*)f1->dirname)) {
state1 = fnc_BASE;
c1 = (uchar*)f1->basename;
+ } else if (!*c1) {
+ state1 = fnc_SLASH;
+ c1 = (uchar*)"/";
} else
state1 = fnc_DIR;
if (!(c2 = (uchar*)f2->dirname)) {
state2 = fnc_BASE;
c2 = (uchar*)f2->basename;
+ } else if (!*c2) {
+ state2 = fnc_SLASH;
+ c2 = (uchar*)"/";
} else
state2 = fnc_DIR;