summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2011-05-21 19:32:40 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2011-05-21 19:32:40 (GMT)
commit9b90d9b503c7be343ae26ce7f834b1865ab66013 (patch)
tree0fab15423e3220d9790066422306f43b90d5338e
parent569e930768922812ce5169a3058b65fff9196308 (diff)
downloadbusybox-9b90d9b503c7be343ae26ce7f834b1865ab66013.tar.gz
busybox-9b90d9b503c7be343ae26ce7f834b1865ab66013.tar.bz2
adduser: better logic for choosing addgroup -g/--gid
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--loginutils/adduser.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/loginutils/adduser.c b/loginutils/adduser.c
index 0e06ab2..47c674b 100644
--- a/loginutils/adduser.c
+++ b/loginutils/adduser.c
@@ -95,12 +95,14 @@ static void addgroup_wrapper(struct passwd *p, const char *group_name)
} else {
/* Add user to his own group with the first free gid
* found in passwd_study.
- * We try to use --gid, not -g, because "standard" addgroup
- * has no such short option, it has only long --gid.
*/
-#if ENABLE_FEATURE_ADDGROUP_LONG_OPTIONS
+#if ENABLE_FEATURE_ADDGROUP_LONG_OPTIONS || !ENABLE_ADDGROUP
+ /* We try to use --gid, not -g, because "standard" addgroup
+ * has no short option -g, it has only long --gid.
+ */
argv[1] = (char*)"--gid";
#else
+ /* Breaks if system in fact does NOT use busybox addgroup */
argv[1] = (char*)"-g";
#endif
argv[2] = utoa(p->pw_gid);