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:
		
				
					committed by
					
						 Denys Vlasenko
						Denys Vlasenko
					
				
			
			
				
	
			
			
			
						parent
						
							13d72c3fd9
						
					
				
				
					commit
					2599937c4e
				
			| @@ -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" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user