- /* Parse any options */
- while (argc > 0 && **argv == '-') {
- while (i==FALSE && *++(*argv)) {
- switch (**argv) {
- case 'm':
- if (--argc == 0)
- usage( mkdir_usage);
- /* Find the specified modes */
- mode = 0;
- if ( parse_mode(*(++argv), &mode) == FALSE ) {
- fprintf(stderr, "Unknown mode: %s\n", *argv);
- exit( FALSE);
+ bb_applet_long_options = mkdir_long_options;
+ opt = bb_getopt_ulflags(argc, argv, "m:p", &smode);
+ if(opt & 1) {
+ mode = 0777;
+ if (!bb_parse_mode (smode, &mode)) {
+ bb_error_msg_and_die ("invalid mode `%s'", smode);