ls: fix support for long options when FEATURE_LS_COLOR is deselected
authorLaurent Bercot <ska-dietlibc@skarnet.org>
Fri, 26 May 2017 14:50:53 +0000 (16:50 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 26 May 2017 14:50:53 +0000 (16:50 +0200)
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>
coreutils/ls.c

index 6e0a52d754d3e86e7126205c6cc98fe72c9ccc7f..6780057da00a22045f80e215c8a975bb1658ba56 100644 (file)
@@ -1067,17 +1067,19 @@ int ls_main(int argc UNUSED_PARAM, char **argv)
         * 'auto', 'tty', 'if-tty'
         * (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 =
                "always\0""yes\0""force\0"
                "auto\0""tty\0""if-tty\0";
        /* need to initialize since --color has _an optional_ argument */
        const char *color_opt = color_str; /* "always" */
 #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();
 
@@ -1091,7 +1093,7 @@ int ls_main(int argc UNUSED_PARAM, char **argv)
 #endif
 
        /* process options */
-       IF_FEATURE_LS_COLOR(applet_long_options = ls_longopts;)
+       IF_LONG_OPTS(applet_long_options = ls_longopts;)
        opt_complementary =
                /* -n and -g imply -l */
                "nl:gl"