adduser: optional support for long options. +110 bytes. closes bug 2134.
No binary (build failed)
—
(log yok)
| @@ -88,6 +88,13 @@ config ADDUSER | |
| help | |
| Utility for creating a new user account. | |
| + | config FEATURE_ADDUSER_LONG_OPTIONS |
| + | bool "Enable long options" |
| + | default n |
| + | depends on ADDUSER && GETOPT_LONG |
| + | help |
| + | Support long options for the adduser applet. |
| + | |
| config DELUSER | |
| bool "deluser" | |
| default n | |
| @@ -66,6 +66,19 @@ static void passwd_wrapper(const char *login) | |
| bb_error_msg_and_die("cannot execute %s, you must set password manually", prog); | |
| } | |
| + | #if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS |
| + | static const char adduser_longopts[] ALIGN1 = |
| + | "home\0" Required_argument "h" |
| + | "gecos\0" Required_argument "g" |
| + | "shell\0" Required_argument "s" |
| + | "ingroup\0" Required_argument "G" |
| + | "disabled-password\0" No_argument "D" |
| + | "empty-password\0" No_argument "D" |
| + | "system\0" No_argument "S" |
| + | "no-create-home\0" No_argument "H" |
| + | ; |
| + | #endif |
| + | |
| /* | |
| * adduser will take a login_name as its first parameter. | |
| * home, shell, gecos: | |
| @@ -78,6 +91,10 @@ int adduser_main(int argc, char **argv) | |
| const char *usegroup = NULL; | |
| FILE *file; | |
| + | #if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS |
| + | applet_long_options = adduser_longopts; |
| + | #endif |
| + | |
| /* got root? */ | |
| if (geteuid()) { | |
| bb_error_msg_and_die(bb_msg_perm_denied_are_you_root); | |