- shrink a tiny bit (-8b)
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mon, 26 Mar 2007 10:46:31 +0000 (10:46 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mon, 26 Mar 2007 10:46:31 +0000 (10:46 -0000)
coreutils/split.c

index 312906f6e9adb549e5263ec883b90cf754851b7a..86fd20437414030ed28868de30b86823249fa4c5 100644 (file)
  */
 #include "busybox.h"
 static unsigned suffix_len = 2;
+static const struct suffix_mult split_suffices[] = {
+#if ENABLE_FEATURE_SPLIT_FANCY
+       { "b", 512 },
+#endif
+       { "k", 1024 },
+       { "m", 1024*1024 },
+#if ENABLE_FEATURE_SPLIT_FANCY
+       { "g", 1024*1024*1024 },
+#endif
+       { NULL, 0 }
+};
 
 /* Increment the suffix part of the filename.
  * Returns 0 on success and 1 on error (if we are out of files)
@@ -22,13 +33,12 @@ static bool next_file(char **old)
        char *curr;
 
        do {
-//             if (**(old + end - i) < 'z') {
                curr = *old + end - i;
                if (*curr < 'z') {
-                       *(*old + end - i) += 1;
+                       *curr += 1;
                        break;
                }
-               *(*old +end - i) = 'a';
+               *curr = 'a';
                i++;
        } while (i <= suffix_len);
        if ((*curr == 'z') && (i == suffix_len))
@@ -37,13 +47,14 @@ static bool next_file(char **old)
 }
 #define SPLIT_OPT_l (1<<0)
 #define SPLIT_OPT_b (1<<1)
+#define SPLIT_OPT_a (1<<2)
 
 int split_main(int argc, char **argv);
 int split_main(int argc, char **argv)
 {
        char *pfx;
-       char *count_p = NULL;
-       char *sfx_len = NULL;
+       char *count_p;
+       char *sfx_len;
        unsigned cnt = 1000;
        char *input_file;
 
@@ -51,9 +62,9 @@ int split_main(int argc, char **argv)
        getopt32(argc, argv, "l:b:a:", &count_p, &count_p, &sfx_len);
        argv += optind;
 
-       if (count_p)
+       if (option_mask32 & (SPLIT_OPT_l|SPLIT_OPT_b))
                cnt = xatoi(count_p);
-       if (sfx_len)
+       if (option_mask32 & SPLIT_OPT_a)
                suffix_len = xatoul(sfx_len);
 
        if (!*argv)