busybox: 1.18.2 fix for wc

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Peter Korsgaard 2011-01-24 17:04:28 +01:00
parent 0642953bdd
commit 87cb38b928

View File

@ -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 */
) {