diff options
author | Jim Meyering <jim@meyering.net> | 1999-04-26 12:20:26 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1999-04-26 12:20:26 +0000 |
commit | 259838277ba4f363ebbb1c3abf87315915f0e0bc (patch) | |
tree | e28d4042b424af2b5f34a46e9252a6b20db95a91 | |
parent | 0b6ee7158ecedb60096fcb090ec71ac224494ce0 (diff) | |
download | coreutils-259838277ba4f363ebbb1c3abf87315915f0e0bc.tar.xz |
Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.
-rw-r--r-- | src/mknod.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mknod.c b/src/mknod.c index f1c5d6985..13cb1c581 100644 --- a/src/mknod.c +++ b/src/mknod.c @@ -65,7 +65,7 @@ usage (int status) printf (_("\ Create the special file NAME of the given TYPE.\n\ \n\ - -m, --mode=MODE set permission mode (as in chmod), not 0666 - umask\n\ + -m, --mode=MODE set permission mode (as in chmod), not a=rw - umask\n\ --help display this help and exit\n\ --version output version information and exit\n\ \n\ @@ -84,7 +84,7 @@ MAJOR MINOR are forbidden for TYPE p, mandatory otherwise. TYPE may be:\n\ int main (int argc, char **argv) { - unsigned short newmode; + mode_t newmode; struct mode_change *change; const char *symbolic_mode; int optc; @@ -115,7 +115,8 @@ main (int argc, char **argv) } } - newmode = 0666 & ~umask (0); + newmode = ((S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH) + & ~ umask (0)); if (symbolic_mode) { change = mode_compile (symbolic_mode, 0); |