diff options
Diffstat (limited to 'lib/libc/gen/setmode.c')
| -rw-r--r-- | lib/libc/gen/setmode.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/libc/gen/setmode.c b/lib/libc/gen/setmode.c index fa688a77b264..12f7c1ab1ca7 100644 --- a/lib/libc/gen/setmode.c +++ b/lib/libc/gen/setmode.c @@ -215,7 +215,7 @@ setmode(p) mode_t mask; struct bitcmd *set, *saveset, *endset; int permXbits, setlen; - static int compress_mode(); + static void compress_mode(); /* * Get a copy of the mask for the permissions that are mask relative. @@ -321,7 +321,7 @@ setmode(p) * to flush out any partial mode that we have, * and then do the copying of the mode bits. */ - if (perm) { + if (perm || op == '=') { ADDCMD(op, who, perm, mask); perm = 0; } @@ -337,7 +337,7 @@ setmode(p) * Add any permissions that we haven't already * done. */ - if (perm) { + if (perm || op == '=') { ADDCMD(op, who, perm, mask); perm = 0; } @@ -389,7 +389,7 @@ dumpmode(set) * 'g' and 'o' commands continue to be separate. They could probably be * compacted, but it's not worth the effort. */ -static +static void compress_mode(set) register struct bitcmd *set; { |
