1303 files changed, 32187 insertions, 57138 deletions
diff --git a/coreutils/mkdir.c b/coreutils/mkdir.c index 4a8e43e..3afe76c 100644 --- a/coreutils/mkdir.c +++ b/coreutils/mkdir.c @@ -6,18 +6,32 @@ * * Licensed under GPLv2 or later, see file LICENSE in this source tree. */ - -/* BB_AUDIT SUSv3 compliant */ -/* http://www.opengroup.org/onlinepubs/007904975/utilities/mkdir.html */ - /* Mar 16, 2003 Manuel Novoa III (mjn3@codepoet.org) * * Fixed broken permission setting when -p was used; especially in * conjunction with -m. */ - /* Nov 28, 2006 Yoshinori Sato <ysato@users.sourceforge.jp>: Add SELinux Support. */ +//config:config MKDIR +//config: bool "mkdir" +//config: default y +//config: help +//config: mkdir is used to create directories with the specified names. +//config: +//config:config FEATURE_MKDIR_LONG_OPTIONS +//config: bool "Enable long options" +//config: default y +//config: depends on MKDIR && LONG_OPTS +//config: help +//config: Support long options for the mkdir applet. + +//applet:IF_MKDIR(APPLET_NOFORK(mkdir, mkdir, BB_DIR_BIN, BB_SUID_DROP, mkdir)) + +//kbuild:lib-$(CONFIG_MKDIR) += mkdir.o + +/* BB_AUDIT SUSv3 compliant */ +/* http://www.opengroup.org/onlinepubs/007904975/utilities/mkdir.html */ //usage:#define mkdir_trivial_usage //usage: "[OPTIONS] DIRECTORY..." @@ -48,7 +62,9 @@ static const char mkdir_longopts[] ALIGN1 = #if ENABLE_SELINUX "context\0" Required_argument "Z" #endif +#if ENABLE_FEATURE_VERBOSE "verbose\0" No_argument "v" +#endif ; #endif @@ -67,18 +83,20 @@ int mkdir_main(int argc UNUSED_PARAM, char **argv) #if ENABLE_FEATURE_MKDIR_LONG_OPTIONS applet_long_options = mkdir_longopts; #endif - opt = getopt32(argv, "m:p" IF_SELINUX("Z:") "v", &smode IF_SELINUX(,&scontext)); + opt = getopt32(argv, "m:pv" IF_SELINUX("Z:"), &smode IF_SELINUX(,&scontext)); if (opt & 1) { - mode_t mmode = 0777; - if (!bb_parse_mode(smode, &mmode)) { + mode_t mmode = bb_parse_mode(smode, 0777); + if (mmode == (mode_t)-1) { bb_error_msg_and_die("invalid mode '%s'", smode); } mode = mmode; } if (opt & 2) flags |= FILEUTILS_RECUR; + if ((opt & 4) && FILEUTILS_VERBOSE) + flags |= FILEUTILS_VERBOSE; #if ENABLE_SELINUX - if (opt & 4) { + if (opt & 8) { selinux_or_die(); setfscreatecon_or_die(scontext); } |