Use setlocale(LC_CTYPE, "C.UTF-8") for more targeted locale enable:

(only enable character parsing, force utf8, "C" semantics otherwise.)
This commit is contained in:
Rob Landley 2017-10-21 09:48:24 -05:00
parent 5af26a03df
commit b5e405ce44

2
main.c
View File

@ -83,7 +83,7 @@ static void toy_singleinit(struct toy_list *which, char *argv[])
toys.which = which;
toys.argv = argv;
if (CFG_TOYBOX_I18N) setlocale(LC_ALL, "C"+!!(which->flags & TOYFLAG_LOCALE));
if (CFG_TOYBOX_I18N) setlocale(LC_CTYPE, "C.UTF-8");
// Parse --help and --version for (almost) all commands
if (CFG_TOYBOX_HELP_DASHDASH && !(which->flags & TOYFLAG_NOHELP) && argv[1]) {