From 24c8d8491f7260a6b24b285bdcafc3a5f7351cbb Mon Sep 17 00:00:00 2001 From: rsc Date: Wed, 21 Apr 2004 22:37:29 +0000 Subject: add -m flag --- src/cmd/mkdir.C | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/cmd') diff --git a/src/cmd/mkdir.C b/src/cmd/mkdir.C index 11421d97..1c16565d 100644 --- a/src/cmd/mkdir.C +++ b/src/cmd/mkdir.C @@ -2,11 +2,12 @@ #include 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"); } @@ -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"; @@ -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; -- cgit v1.2.3