summaryrefslogtreecommitdiff
path: root/src/mknod.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1993-10-08 00:51:10 +0000
committerJim Meyering <jim@meyering.net>1993-10-08 00:51:10 +0000
commit95f7eb6267b6fa36b92e247eca2728cde8130f03 (patch)
treeb667ee079ab3c23c5e8506bb92cc0650f5cee7fb /src/mknod.c
parentd9d6720b77c2777aefcbabdfbd6dd250872d3a36 (diff)
downloadcoreutils-95f7eb6267b6fa36b92e247eca2728cde8130f03.tar.xz
merge with 3.8.3d
Diffstat (limited to 'src/mknod.c')
-rw-r--r--src/mknod.c44
1 files changed, 30 insertions, 14 deletions
diff --git a/src/mknod.c b/src/mknod.c
index 702435186..f9a614a7a 100644
--- a/src/mknod.c
+++ b/src/mknod.c
@@ -89,7 +89,7 @@ main (argc, argv)
symbolic_mode = optarg;
break;
default:
- usage ();
+ usage (1);
}
}
@@ -100,7 +100,7 @@ main (argc, argv)
}
if (show_help)
- usage ();
+ usage (0);
newmode = 0666 & ~umask (0);
if (symbolic_mode)
@@ -114,7 +114,7 @@ main (argc, argv)
}
if (argc - optind != 2 && argc - optind != 4)
- usage ();
+ usage (1);
/* Only check the first character, to allow mnemonic usage like
`mknod /dev/rst0 character 18 0'. */
@@ -126,7 +126,7 @@ main (argc, argv)
error (4, 0, "block special files not supported");
#else
if (argc - optind != 4)
- usage ();
+ usage (1);
if (mknod (argv[optind], newmode | S_IFBLK,
makedev (atoi (argv[optind + 2]), atoi (argv[optind + 3]))))
error (1, errno, "%s", argv[optind]);
@@ -139,7 +139,7 @@ main (argc, argv)
error (4, 0, "character special files not supported");
#else
if (argc - optind != 4)
- usage ();
+ usage (1);
if (mknod (argv[optind], newmode | S_IFCHR,
makedev (atoi (argv[optind + 2]), atoi (argv[optind + 3]))))
error (1, errno, "%s", argv[optind]);
@@ -151,27 +151,43 @@ main (argc, argv)
error (4, 0, "fifo files not supported");
#else
if (argc - optind != 2)
- usage ();
+ usage (1);
if (mkfifo (argv[optind], newmode))
error (1, errno, "%s", argv[optind]);
#endif
break;
default:
- usage ();
+ usage (1);
}
exit (0);
}
static void
-usage ()
+usage (status)
+ int status;
{
fprintf (stderr, "\
-Usage: %s [options] path {bcu} major minor\n\
- %s [options] path p\n\
-Options:\n\
- [-m mode] [--mode=mode] [--help] [--version]\n",
- program_name, program_name);
- exit (1);
+Usage: %s [OPTION]... PATH TYPE [MAJOR MINOR]\n\
+\n",
+ program_name);
+
+ if (status == 0)
+ fprintf (stderr, "\
+ -m, --mode MODE set permission mode (as in chmod), not 0666 - umask\n\
+ --help provide this help\n\
+ --version show program version\n\
+\n\
+MAJOR MINOR are forbidden for TYPE p, mandatory otherwise. TYPE may be:\n\
+\n\
+ b create a block (buffered) special file\n\
+ c, u create a character (unbuffered) special file \n\
+ p create a FIFO\n");
+
+ else
+ fprintf (stderr, "Try `%s --help' for more information.\n",
+ program_name);
+
+ exit (status);
}