- add support for seq -s <separator>
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Wed, 12 Nov 2008 13:22:24 +0000 (13:22 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Wed, 12 Nov 2008 13:22:24 +0000 (13:22 -0000)
coreutils/seq.c
include/usage.h

index 899cd696bc68416d80bd7d610308719c21a65630..cf856bf0416dcb0d61e5e0f93f9bf235591c0443 100644 (file)
@@ -16,8 +16,10 @@ int seq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int seq_main(int argc, char **argv)
 {
        double last, increment, i;
-       enum { OPT_w = 1 };
-       unsigned opt = getopt32(argv, "+w");
+       enum { OPT_w = 1, OPT_s };
+       const char *sep = "\n";
+       bool is_consecutive = 0;
+       unsigned opt = getopt32(argv, "+ws:", &sep);
        unsigned width = 0;
 
        argc -= optind;
@@ -39,9 +41,12 @@ int seq_main(int argc, char **argv)
 
        /* You should note that this is pos-5.0.91 semantics, -- FK. */
        while ((increment > 0 && i <= last) || (increment < 0 && i >= last)) {
-               printf("%0*g\n", width, i);
+               if (is_consecutive++) {
+                       printf("%s", sep);
+               }
+               printf("%0*g", width, i);
                i += increment;
        }
-
+       bb_putchar('\n');
        return fflush(stdout);
 }
index 4360edba69f074e2bdc939eac2143e5cef4aae57..f9b6aca1bf20003f7cc48e5be8e6079b23c00c1e 100644 (file)
      "\nOther options are silently ignored; -oi is implied" \
 
 #define seq_trivial_usage \
-       "[-w] [first [increment]] last"
+       "[-w] [-s separator] [first [increment]] last"
 #define seq_full_usage "\n\n" \
        "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" \
        "FIRST, INCREMENT default to 1\n" \
      "\nArguments:" \
-     "\n       -w          Pad to last with leading zeros" \
+     "\n       -w          Pad to last with leading zeros" \
+     "\n       -s <string> Use string separator" \
      "\n       LAST" \
      "\n       FIRST LAST" \
      "\n       FIRST INCREMENT LAST" \