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:
*/
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 **argv)
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 **argv)
}
/* 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 */
) {