summaryrefslogtreecommitdiff
path: root/sys/src/cmd/hjfs/fs2.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-01-13 08:49:31 +0100
committercinap_lenrek <cinap_lenrek@gmx.de>2013-01-13 08:49:31 +0100
commit63f1fc07eb77a5443d693b902dd2b74b56f95057 (patch)
tree36f85c7818446382752014d5d29f9ad2e570541e /sys/src/cmd/hjfs/fs2.c
parent6dc133ad99486167343885af1860d4e85a0f946c (diff)
hjfs: dont mask permission bits for "create" console command
Diffstat (limited to 'sys/src/cmd/hjfs/fs2.c')
-rw-r--r--sys/src/cmd/hjfs/fs2.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/src/cmd/hjfs/fs2.c b/sys/src/cmd/hjfs/fs2.c
index 95b6a1997..fc772a832 100644
--- a/sys/src/cmd/hjfs/fs2.c
+++ b/sys/src/cmd/hjfs/fs2.c
@@ -132,17 +132,19 @@ chancreat(Chan *ch, char *name, int perm, int mode)
werrstr(Enotadir);
goto error;
}
- if((ch->flags & CHFNOPERM) == 0)
+ if((ch->flags & CHFNOPERM) == 0){
if(!permcheck(ch->fs, d, ch->uid, OWRITE)){
werrstr(Eperm);
goto error;
}
+ if(isdir)
+ perm &= ~0777 | d->mode & 0777;
+ else
+ perm &= ~0666 | d->mode & 0666;
+ }
if(newentry(ch->fs, ch->loc, b, name, &f, 0) <= 0)
goto error;
- if(isdir)
- perm &= ~0777 | d->mode & 0777;
- else
- perm &= ~0666 | d->mode & 0666;
+
f.type = perm >> 24;
if(newqid(ch->fs, &f.path) < 0)
goto error;