wc: fix swapped -c and -m

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2011-01-22 17:57:01 +01:00
parent 1f4a987d47
commit 1336f89d59

View File

@ -81,11 +81,11 @@
* column order in "wc -cmlwL" output: * column order in "wc -cmlwL" output:
*/ */
enum { enum {
WC_LINES = 0, WC_LINES = 0, /* -l */
WC_WORDS = 1, WC_WORDS = 1, /* -w */
WC_UNICHARS = 2, WC_UNICHARS = 2, /* -m */
WC_CHARS = 3, WC_BYTES = 3, /* -c */
WC_LENGTH = 4, WC_LENGTH = 4, /* -L */
NUM_WCS = 5, NUM_WCS = 5,
}; };
@ -104,10 +104,10 @@ int wc_main(int argc UNUSED_PARAM, char **argv)
init_unicode(); init_unicode();
print_type = getopt32(argv, "lwcmL"); print_type = getopt32(argv, "lwmcL");
if (print_type == 0) { 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; argv += optind;
@ -157,7 +157,7 @@ int wc_main(int argc UNUSED_PARAM, char **argv)
} }
/* Cater for -c and -m */ /* Cater for -c and -m */
++counts[WC_CHARS]; ++counts[WC_BYTES];
if (unicode_status != UNICODE_ON /* every byte is a new char */ if (unicode_status != UNICODE_ON /* every byte is a new char */
|| (c & 0xc0) != 0x80 /* it isn't a 2nd+ byte of a Unicode char */ || (c & 0xc0) != 0x80 /* it isn't a 2nd+ byte of a Unicode char */
) { ) {