← Commit list

0bd0257fe

Glenn L McGrath
Glenn L McGrath
2005-12-11
SOURCE BUG Duration: 6s

Subject

Add build options to control SuS compatability, allows numeric option handling to be disabled. Defaults to enabled, so no changes in default behaviour

SOURCE BUG

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)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

coreutils/fold.c+3 -0
@@ -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)
coreutils/head.c+3 -0
@@ -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
coreutils/tail.c+2 -0
@@ -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) {
include/usage.h+1 -1
@@ -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" \
sysdeps/linux/Config.in+15 -0
@@ -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'