Add build options to control SuS compatability, allows numeric
authorGlenn L McGrath <bug1@ihug.co.nz>
Sun, 11 Dec 2005 03:09:05 +0000 (03:09 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Sun, 11 Dec 2005 03:09:05 +0000 (03:09 -0000)
option handling to be disabled.
Defaults to enabled, so no changes in default behaviour

coreutils/fold.c
coreutils/head.c
coreutils/tail.c
include/usage.h
sysdeps/linux/Config.in

index 8f74ed88d292046c089cbe11feb12762fee42b55..ee0fdc250661d3bc78d965ac3b8123f8ed060f0b 100644 (file)
@@ -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)
index dab4de11b16555514da7eff3bcc194bb86fd29d5..a20873333b99a94942baa6045a6feab287fe575f 100644 (file)
@@ -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
index 1db1e2b0f3dbe57b870315a07daf1c1c5932f6f7..cc1517a7ed1d8e2385370b6008e9877b801ea84c 100644 (file)
@@ -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) {
index 53832b9876863526ec550e919180e4d0b41f522f..2cfd2b0c13a9f406c291d6517522e5a773362bf1 100644 (file)
        "/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" \
index 95491c9a0ac8c0b5d31f371c312d2c44d342bedc..fb97c8f05987c63d4be4827ee0d1f6de40a8d792 100644 (file)
@@ -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'