ls: fix support for long options when FEATURE_LS_COLOR is deselected
Declaration of ls_longopts and initialization of applet_long_options were incorrectly guarded with ENABLE_FEATURE_LS_COLOR; that yielded a "ls: NO_OPT: \xff" error message when long options were selected and color support was not. This patch ensures long options are initialized separately from color support. Signed-off-by: Laurent Bercot <ska-dietlibc@skarnet.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
13d72c3fd9
commit
2599937c4e
@ -1067,17 +1067,19 @@ int ls_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
* 'auto', 'tty', 'if-tty'
|
* 'auto', 'tty', 'if-tty'
|
||||||
* (and substrings: "--color=alwa" work too)
|
* (and substrings: "--color=alwa" work too)
|
||||||
*/
|
*/
|
||||||
static const char ls_longopts[] ALIGN1 =
|
|
||||||
"full-time\0" No_argument "\xff"
|
|
||||||
"group-directories-first\0" No_argument "\xfe"
|
|
||||||
"color\0" Optional_argument "\xfd"
|
|
||||||
;
|
|
||||||
static const char color_str[] ALIGN1 =
|
static const char color_str[] ALIGN1 =
|
||||||
"always\0""yes\0""force\0"
|
"always\0""yes\0""force\0"
|
||||||
"auto\0""tty\0""if-tty\0";
|
"auto\0""tty\0""if-tty\0";
|
||||||
/* need to initialize since --color has _an optional_ argument */
|
/* need to initialize since --color has _an optional_ argument */
|
||||||
const char *color_opt = color_str; /* "always" */
|
const char *color_opt = color_str; /* "always" */
|
||||||
#endif
|
#endif
|
||||||
|
#if ENABLE_LONG_OPTS
|
||||||
|
static const char ls_longopts[] ALIGN1 =
|
||||||
|
"full-time\0" No_argument "\xff"
|
||||||
|
"group-directories-first\0" No_argument "\xfe"
|
||||||
|
"color\0" Optional_argument "\xfd"
|
||||||
|
;
|
||||||
|
#endif
|
||||||
|
|
||||||
INIT_G();
|
INIT_G();
|
||||||
|
|
||||||
@ -1091,7 +1093,7 @@ int ls_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* process options */
|
/* process options */
|
||||||
IF_FEATURE_LS_COLOR(applet_long_options = ls_longopts;)
|
IF_LONG_OPTS(applet_long_options = ls_longopts;)
|
||||||
opt_complementary =
|
opt_complementary =
|
||||||
/* -n and -g imply -l */
|
/* -n and -g imply -l */
|
||||||
"nl:gl"
|
"nl:gl"
|
||||||
|
Loading…
Reference in New Issue
Block a user