Add build options to control SuS compatability, allows numeric option handling to be disabled. Defaults to enabled, so no changes in default behaviour
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -52,6 +52,8 @@ extern int fold_main(int argc, char **argv) | |
| int i; | |
| int errs = 0; | |
| + | |
| + | #ifdef CONFIG_FEATURE_SUSv2_OBSOLETE |
| /* Turn any numeric options into -w options. */ | |
| for (i = 1; i < argc; i++) { | |
| char const *a = argv[i]; | |
| @@ -69,6 +71,7 @@ extern int fold_main(int argc, char **argv) | |
| } | |
| } | |
| } | |
| + | #endif |
| flags = bb_getopt_ulflags(argc, argv, "bsw:", &w_opt); | |
| if (flags & FLAG_WIDTH) | |
| @@ -56,6 +56,7 @@ int head_main(int argc, char **argv) | |
| int c; | |
| int retval = EXIT_SUCCESS; | |
| + | #if defined CONFIG_FEATURE_SUSv2 || defined CONFIG_FEATURE_FANCY_HEAD |
| /* Allow legacy syntax of an initial numeric option without -n. */ | |
| if ((argc > 1) && (argv[1][0] == '-') | |
| /* && (isdigit)(argv[1][1]) */ | |
| @@ -66,7 +67,9 @@ int head_main(int argc, char **argv) | |
| p = (*argv) + 1; | |
| goto GET_COUNT; | |
| } | |
| + | #endif |
| + | /* No size benefit in converting this to bb_getopt_ulflags */ |
| while ((opt = getopt(argc, argv, head_opts)) > 0) { | |
| switch(opt) { | |
| #ifdef CONFIG_FEATURE_FANCY_HEAD | |
| @@ -121,6 +121,7 @@ int tail_main(int argc, char **argv) | |
| char *s, *buf; | |
| const char *fmt; | |
| + | #ifdef CONFIG_FEATURE_SUSv2 |
| /* Allow legacy syntax of an initial numeric option without -n. */ | |
| if (argc >=2 && ((argv[1][0] == '+') || ((argv[1][0] == '-') | |
| /* && (isdigit)(argv[1][1]) */ | |
| @@ -130,6 +131,7 @@ int tail_main(int argc, char **argv) | |
| optarg = argv[1]; | |
| goto GET_COUNT; | |
| } | |
| + | #endif |
| while ((opt = getopt(argc, argv, tail_opts)) > 0) { | |
| switch (opt) { | |
| @@ -766,7 +766,7 @@ | |
| "/etc/passwd\n" | |
| #define fold_trivial_usage \ | |
| - | "[-bsw] [FILE]" |
| + | "[-bs] [-w WIDTH] [FILE]" |
| #define fold_full_usage \ | |
| "Wrap input lines in each FILE (standard input by default), writing to\n" \ | |
| "standard output.\n\n" \ | |
| @@ -203,6 +203,21 @@ config EXTRA_CFLAGS_OPTIONS | |
| if you want to add some simple compiler switches (like -march=i686), | |
| or check for warnings using -Werror, just those options here. | |
| + | config CONFIG_FEATURE_SUSv2 |
| + | bool "Enable features that are in SuSv2 but not SuSv3?" |
| + | default y |
| + | help |
| + | This option will enable backwards compatability with SuSv2, |
| + | specifically, numeric options such as 'head -1 <file>' will be |
| + | supported. |
| + | |
| + | config CONFIG_FEATURE_SUSv2_OBSOLETE |
| + | bool "Enable features that are obsolete in SuSv2" |
| + | depends on CONFIG_FEATURE_SUSv2 |
| + | default y |
| + | help |
| + | Disables support for numeric arguments in fold. |
| + | |
| endmenu | |
| menu 'Installation Options' | |