diff options
author | maxim <maxim@FreeBSD.org> | 2006-10-18 13:16:06 +0000 |
---|---|---|
committer | maxim <maxim@FreeBSD.org> | 2006-10-18 13:16:06 +0000 |
commit | 065ac6f82d78d0d21b818cc70407848384bfdd71 (patch) | |
tree | 10e735b97714bed5517edef99325832bcf49c1d4 /bin | |
parent | 7ab1a57f62d30a3f15f7aa93b482df4b53bbfdf3 (diff) | |
download | FreeBSD-src-065ac6f82d78d0d21b818cc70407848384bfdd71.zip FreeBSD-src-065ac6f82d78d0d21b818cc70407848384bfdd71.tar.gz |
o Backout rev. 1.55. Don't waste cpu cycles for bzero(), do not
call chflags() for whiteouted files.
Prodded by: ru
Diffstat (limited to 'bin')
-rw-r--r-- | bin/rm/rm.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/bin/rm/rm.c b/bin/rm/rm.c index 7d02fa0..614479d 100644 --- a/bin/rm/rm.c +++ b/bin/rm/rm.c @@ -317,7 +317,6 @@ rm_file(char **argv) int rval; char *f; - bzero(&sb, sizeof(sb)); /* * Remove a file. POSIX 1003.2 states that, by default, attempting * to remove a directory is an error, so must always stat the file. @@ -348,7 +347,7 @@ rm_file(char **argv) if (!fflag && !S_ISWHT(sb.st_mode) && !check(f, f, &sb)) continue; rval = 0; - if (!uid && + if (!uid && !S_ISWHT(sb.st_mode) && (sb.st_flags & (UF_APPEND|UF_IMMUTABLE)) && !(sb.st_flags & (SF_APPEND|SF_IMMUTABLE))) rval = chflags(f, sb.st_flags & ~(UF_APPEND|UF_IMMUTABLE)); |