busybox: 1.18.2 fix for wc
authorPeter Korsgaard <jacmet@sunsite.dk>
Mon, 24 Jan 2011 16:04:28 +0000 (17:04 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 24 Jan 2011 16:04:28 +0000 (17:04 +0100)
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/busybox/busybox-1.18.2/busybox-1.18.2-wc.patch [new file with mode: 0644]

diff --git a/package/busybox/busybox-1.18.2/busybox-1.18.2-wc.patch b/package/busybox/busybox-1.18.2/busybox-1.18.2-wc.patch
new file mode 100644 (file)
index 0000000..558896d
--- /dev/null
@@ -0,0 +1,41 @@
+--- busybox-1.18.2/coreutils/wc.c
++++ busybox-1.18.2-wc/coreutils/wc.c
+@@ -81,11 +81,11 @@
+  * column order in "wc -cmlwL" output:
+  */
+ enum {
+-      WC_LINES    = 0,
+-      WC_WORDS    = 1,
+-      WC_UNICHARS = 2,
+-      WC_CHARS    = 3,
+-      WC_LENGTH   = 4,
++      WC_LINES    = 0, /* -l */
++      WC_WORDS    = 1, /* -w */
++      WC_UNICHARS = 2, /* -m */
++      WC_BYTES    = 3, /* -c */
++      WC_LENGTH   = 4, /* -L */
+       NUM_WCS     = 5,
+ };
+@@ -104,10 +104,10 @@ int wc_main(int argc UNUSED_PARAM, char 
+       init_unicode();
+-      print_type = getopt32(argv, "lwcmL");
++      print_type = getopt32(argv, "lwmcL");
+       if (print_type == 0) {
+-              print_type = (1 << WC_LINES) | (1 << WC_WORDS) | (1 << WC_CHARS);
++              print_type = (1 << WC_LINES) | (1 << WC_WORDS) | (1 << WC_BYTES);
+       }
+       argv += optind;
+@@ -157,7 +157,7 @@ int wc_main(int argc UNUSED_PARAM, char 
+                       }
+                       /* Cater for -c and -m */
+-                      ++counts[WC_CHARS];
++                      ++counts[WC_BYTES];
+                       if (unicode_status != UNICODE_ON /* every byte is a new char */
+                        || (c & 0xc0) != 0x80 /* it isn't a 2nd+ byte of a Unicode char */
+                       ) {