Polish previous revision: if the fts_* routines have lstat()'ed the
directory entry then use the struct stat from that instead of doing it again, and skip the rm_overwrite() call if fts_read() indicated that the entry couldn't be a regular file. Obtained from: OpenBSD MFC after: 1 week
This commit is contained in:
parent
eb50c82f35
commit
0dbfe1d7aa
10
bin/rm/rm.c
10
bin/rm/rm.c
@ -301,10 +301,16 @@ rm_tree(char **argv)
|
||||
if (fflag)
|
||||
continue;
|
||||
/* FALLTHROUGH */
|
||||
default:
|
||||
|
||||
case FTS_F:
|
||||
case FTS_NSOK:
|
||||
if (Pflag)
|
||||
if (!rm_overwrite(p->fts_accpath, NULL))
|
||||
if (!rm_overwrite(p->fts_accpath, p->fts_info ==
|
||||
FTS_NSOK ? NULL : p->fts_statp))
|
||||
continue;
|
||||
/* FALLTHROUGH */
|
||||
|
||||
default:
|
||||
rval = unlink(p->fts_accpath);
|
||||
if (rval == 0 || (fflag && errno == ENOENT)) {
|
||||
if (rval == 0 && vflag)
|
||||
|
Loading…
Reference in New Issue
Block a user