more bugs fixed -- found doing regression testing
[oweals/busybox.git] / mkfifo.c
index b273df04633abc38665bffb0412d4999b8546bcd..728e1ec2f44d7a01d1278a2698ff46ca49cb7fb7 100644 (file)
--- a/mkfifo.c
+++ b/mkfifo.c
  *
  */
 
-#include "internal.h"
+#include "busybox.h"
 #include <stdio.h>
 #include <sys/types.h>
-#include <sys/stat.h>
 #include <errno.h>
 
-static const char mkfifo_usage[] = "mkfifo [OPTIONS] name\n\n"
-       "Creates a named pipe (identical to 'mknod name p')\n\n"
-
-       "Options:\n"
-       "\t-m\tcreate the pipe using the specified mode (default a=rw)\n";
-
 extern int mkfifo_main(int argc, char **argv)
 {
        char *thisarg;
@@ -58,12 +51,9 @@ extern int mkfifo_main(int argc, char **argv)
                argc--;
                argv++;
        }
-       if (argc < 1)
+       if (argc < 1 || *argv[0] == '-')
                usage(mkfifo_usage);
-       if (mkfifo(*argv, mode) < 0) {
-               perror("mkfifo");
-               exit(255);
-       } else {
-               exit(TRUE);
-       }
+       if (mkfifo(*argv, mode) < 0)
+               perror_msg_and_die("mkfifo");
+       return EXIT_SUCCESS;
 }