aboutsummaryrefslogtreecommitdiff
path: root/toys/posix/wc.c
AgeCommit message (Collapse)Author
2017-09-05Replace remaining mb*towc() calls with utf8towc().Rob Landley
2017-09-02In wc, replace mbrtowc() with new utf8towc() which doesn't have a context structRob Landley
or care about locale.
2016-06-30Teach wc to do -cm together. Fix testsuite so TEST_HOST passes too.Rob Landley
2016-02-14Fix wc -c optimization.Elliott Hughes
Check the fstat(2) return value rather than read uninitialized memory if it failed, and add a special case for files that claim to be zero-length but aren't (as is common in /proc on Linux).
2016-02-10make wc -c fasterizabera
2016-01-05Add error_msg_raw() and friends, replace error_msg("%s", s) uses, enable formatRob Landley
checking, and fix up format checking complaints. Added out(type, value) function to stat to avoid a zillion printf typecasts.
2014-06-09When locale is enabled, sprintf("%.123s", str) is counting characters, not ↵Rob Landley
bytes, so we can't globally enable locale without opening stack/heap smashing vulnerabilities. Make commands individually request setlocale() using TOYFLAGS instead.
2013-01-02Have error_msg() and friends set TT.exitval to 1 if it's still 0, clean out ↵Rob Landley
other places that were setting it that no longer need to.
2012-12-01Minor cleanup: unify two codepaths that do the same thing.Rob Landley
2012-12-01Felix Janda pointed out that the r in mbrtowc() stands for "restartable" so ↵Rob Landley
it's already buffering the partial data we feed it, so rolling back most of the last commit to wc.
2012-11-28The previous wc -m didn't handle multibyte characters that crossed a buffer ↵Rob Landley
boundary, so take a guess at making that work. (I haven't got a test case for this. I also don't know how to handle invalid sequences so just don't count them.)
2012-11-26Cleanup i18n support (#ifdefectomy, move global init to process launch). ↵Rob Landley
Teach make.sh to emit "#define FLAG_x 0" for options inside disabled USE macros so we can unconditionally refer to them.
2012-11-21Make internalization support optionalFelix Janda
2012-11-13Reindent to two spaces per level. Remove vi: directives that haven't worked ↵Rob Landley
right in years (ubuntu broke its' vim implementation). Remove trailing spaces. Add/remove blank lines. Re-wordwrap in places. Update documentation with new coding style. The actual code should be the same afterward, this is just cosmetic refactoring.
2012-11-08wc -m only cares about counting characters. Attached is a try on ↵Felix Janda
implementing it and some test cases for it. The test cases are only for UTF-8 locales.
2012-10-08New build infrastructure to generate FLAG_ macros and TT alias, #define ↵Rob Landley
FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.
2012-09-06Posix compliance: wc shouldn't have trailing spaces (breaks aboriginal's mkinitrRob Landley
amfs script), when to print filenames was wrong, and it should have a "total" line when counting multiple arguments.
2012-08-25Move commands into "posix", "lsb", and "other" menus/directories.Rob Landley