}
strlcpy(p, fp->basename, remainder);
- if (F_OWNER(fp) == our_uid)
+ if (!uid_ndx || (uid_t)F_OWNER(fp) == our_uid)
flags |= DEL_OWNED_BY_US;
else
- flags &= DEL_OWNED_BY_US;
+ flags &= ~DEL_OWNED_BY_US;
/* Save stack by recursing to ourself directly. */
if (S_ISDIR(fp->mode)) {
if (!am_root && !(fp->mode & S_IWUSR) && flags & DEL_OWNED_BY_US)
}
if (flist_find(cur_flist, fp) < 0) {
int flags = DEL_RECURSE
- | (F_OWNER(fp) == our_uid ? DEL_OWNED_BY_US : 0);
+ | (!uid_ndx || (uid_t)F_OWNER(fp) == our_uid ? DEL_OWNED_BY_US : 0);
f_name(fp, delbuf);
if (delete_during == 2) {
if (!remember_delete(fp, delbuf, flags))
return;
}
- if (statret == 0 && F_OWNER(file) == our_uid)
+ if (statret == 0 && sx.st.st_uid == our_uid)
del_opts |= DEL_OWNED_BY_US;
if (S_ISDIR(file->mode)) {