svn commit: trunk/busybox/loginutils

vda at busybox.net vda at busybox.net
Fri Feb 15 15:17:24 UTC 2008


Author: vda
Date: 2008-02-15 07:17:23 -0800 (Fri, 15 Feb 2008)
New Revision: 21031

Log:
adduser: optional support for long options. +110 bytes.
closes bug 2134.



Modified:
   trunk/busybox/loginutils/Config.in
   trunk/busybox/loginutils/adduser.c


Changeset:
Modified: trunk/busybox/loginutils/Config.in
===================================================================
--- trunk/busybox/loginutils/Config.in	2008-02-15 15:02:15 UTC (rev 21030)
+++ trunk/busybox/loginutils/Config.in	2008-02-15 15:17:23 UTC (rev 21031)
@@ -88,6 +88,13 @@
 	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

Modified: trunk/busybox/loginutils/adduser.c
===================================================================
--- trunk/busybox/loginutils/adduser.c	2008-02-15 15:02:15 UTC (rev 21030)
+++ trunk/busybox/loginutils/adduser.c	2008-02-15 15:17:23 UTC (rev 21031)
@@ -66,6 +66,19 @@
 	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 @@
 	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);




More information about the busybox-cvs mailing list