useradd: make the option specstr passed to getopt_long extensible
It was hard to extend the option specification string passed to getopt_long as the third argument. The origian code had a branch with WITH_SELINUX ifdef condition. If one wants to add one more option char with another ifdef condition like ENABLE_SUBIDS to the spec, the one must enumerate the specs for all combinations of the conditions: * WITH_SELINUX && ENABLE_SUBIDS * WITH_SELINUX && !ENABLE_SUBIDS * !WITH_SELINUX && ENABLE_SUBIDS * !WITH_SELINUX && !ENABLE_SUBIDS With this change, you can append an option char to the spec. Signed-off-by: Masatake YAMATO <yamato@redhat.com>
This commit is contained in:
parent
3ec32f9975
commit
fb96d3f84d
@ -1218,11 +1218,11 @@ static void process_flags (int argc, char **argv)
|
||||
{NULL, 0, NULL, '\0'}
|
||||
};
|
||||
while ((c = getopt_long (argc, argv,
|
||||
"b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:U"
|
||||
#ifdef WITH_SELINUX
|
||||
"b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:UZ:",
|
||||
#else /* !WITH_SELINUX */
|
||||
"b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:U",
|
||||
#endif /* !WITH_SELINUX */
|
||||
"Z:"
|
||||
#endif /* WITH_SELINUX */
|
||||
"",
|
||||
long_options, NULL)) != -1) {
|
||||
switch (c) {
|
||||
case 'b':
|
||||
|
Loading…
Reference in New Issue
Block a user