int mknod_main(int argc, char **argv) { mode_t mode; dev_t dev; const char *name; mode = getopt_mk_fifo_nod(argc, argv); argv += optind; argc -= optind; if ((argc >= 2) && ((name = strchr(modes_chars, argv[1][0])) != NULL)) { mode |= modes_cubp[(int)(name[4])]; dev = 0; if ((*name != 'p') && ((argc -= 2) == 2)) { /* Autodetect what the system supports; these macros should * optimize out to two constants. */ dev = makedev(xatoul_range(argv[2], 0, major(UINT_MAX)), xatoul_range(argv[3], 0, minor(UINT_MAX))); } if (argc == 2) { name = *argv; if (mknod(name, mode, dev) == 0) { return EXIT_SUCCESS; } bb_perror_msg_and_die("%s", name); } } bb_show_usage(); }
// file coreutils/mkfifo.c line 28 signed int __main(signed int argc, char **argv) { unsigned int mode; signed int retval = 0; mode=getopt_mk_fifo_nod(argv); argv = argv + (signed long int)optind; if(!(argv == ((char **)NULL))) (void)0; else /* assertion !(argv == ((char **)((void*)0))) */ __VERIFIER_error(); if(*argv == ((char *)NULL)) bb_show_usage(); do { signed int return_value_mkfifo$1; if(!(argv == ((char **)NULL))) (void)0; else /* assertion !(argv == ((char **)((void*)0))) */ __VERIFIER_error(); return_value_mkfifo$1=mkfifo(*argv, mode); if(return_value_mkfifo$1 < 0) { if(!(argv == ((char **)NULL))) (void)0; else /* assertion !(argv == ((char **)((void*)0))) */ __VERIFIER_error(); bb_simple_perror_msg(*argv); retval = 1; } argv = argv + 1l; if(!(argv == ((char **)NULL))) (void)0; else /* assertion !(argv == ((char **)((void*)0))) */ __VERIFIER_error(); } while(!(*argv == ((char *)NULL))); return retval; }
int mkfifo_main(int argc, char **argv) { mode_t mode; int retval = EXIT_SUCCESS; mode = getopt_mk_fifo_nod(argc, argv); if (!*(argv += optind)) { bb_show_usage(); } do { if (mkfifo(*argv, mode) < 0) { bb_perror_msg("%s", *argv); /* Avoid multibyte problems. */ retval = EXIT_FAILURE; } } while (*++argv); return retval; }