summaryrefslogtreecommitdiff
path: root/src/mknod.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1999-04-26 12:20:26 +0000
committerJim Meyering <jim@meyering.net>1999-04-26 12:20:26 +0000
commit259838277ba4f363ebbb1c3abf87315915f0e0bc (patch)
treee28d4042b424af2b5f34a46e9252a6b20db95a91 /src/mknod.c
parent0b6ee7158ecedb60096fcb090ec71ac224494ce0 (diff)
downloadcoreutils-259838277ba4f363ebbb1c3abf87315915f0e0bc.tar.xz
Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.
Diffstat (limited to 'src/mknod.c')
-rw-r--r--src/mknod.c7
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);