Introduction
Introduction Statistics Contact Development Disclaimer Help
tadd -m flag - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
commit 24c8d8491f7260a6b24b285bdcafc3a5f7351cbb
parent 53db2d0f6bfc971f44183f360f3db5a72edd948a
Author: rsc <devnull@localhost>
Date: Wed, 21 Apr 2004 22:37:29 +0000
add -m flag
Diffstat:
M man/man1/mkdir.1 | 8 ++++++++
M src/cmd/mkdir.C | 14 ++++++++++++--
2 files changed, 20 insertions(+), 2 deletions(-)
---
diff --git a/man/man1/mkdir.1 b/man/man1/mkdir.1
t@@ -5,6 +5,9 @@ mkdir \- make a directory
.B mkdir
[
.B -p
+] [
+.B -m
+. I mode
]
.I dirname ...
.SH DESCRIPTION
t@@ -19,6 +22,11 @@ flag is given,
.I mkdir
creates any necessary parent directories
and does not complain if the target directory already exists.
+.PP
+The
+.B -m
+flag sets the permissions to be used when creating the directory.
+The default is 0777.
.SH "SEE ALSO"
.IR rm (1)
.br
diff --git a/src/cmd/mkdir.C b/src/cmd/mkdir.C
t@@ -2,11 +2,12 @@
#include <libc.h>
char *e;
+ulong mode = 0777L;
void
usage(void)
{
- fprint(2, "usage: mkdir [-p] dir...\n");
+ fprint(2, "usage: mkdir [-p] [-m mode] dir...\n");
exits("usage");
}
t@@ -20,7 +21,7 @@ makedir(char *s)
e = "error";
return -1;
}
- f = create(s, OREAD, DMDIR | 0777L);
+ f = create(s, OREAD, DMDIR | mode);
if(f < 0){
fprint(2, "mkdir: can't create %s: %r\n", s);
e = "error";
t@@ -50,11 +51,20 @@ void
main(int argc, char *argv[])
{
int i, pflag;
+ char *m;
pflag = 0;
ARGBEGIN{
default:
usage();
+ case 'm':
+ m = ARGF();
+ if(m == nil)
+ usage();
+ mode = strtoul(m, &m, 8);
+ if(mode > 0777)
+ usage();
+ break;
case 'p':
pflag = 1;
break;
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.