From: Denys Vlasenko Date: Mon, 15 Jun 2009 13:47:58 +0000 (+0200) Subject: seq: fix input handling in non-C locales X-Git-Tag: 1_15_0~161 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9517d8ad72c8db8336ea8dba05a64df44688dec8;p=oweals%2Fbusybox.git seq: fix input handling in non-C locales Signed-off-by: Denys Vlasenko --- diff --git a/coreutils/seq.c b/coreutils/seq.c index bb39a5b54..03ae3c632 100644 --- a/coreutils/seq.c +++ b/coreutils/seq.c @@ -22,8 +22,15 @@ int seq_main(int argc, char **argv) unsigned width; unsigned frac_part; const char *sep, *opt_s = "\n"; - unsigned opt = getopt32(argv, "+ws:", &opt_s); + unsigned opt; +#if ENABLE_LOCALE_SUPPORT + /* Undo busybox.c: on input, we want to use dot + * as fractional separator, regardless of current locale */ + setlocale(LC_NUMERIC, "C"); +#endif + + opt = getopt32(argv, "+ws:", &opt_s); argc -= optind; argv += optind; first = increment = 1; @@ -44,6 +51,10 @@ int seq_main(int argc, char **argv) bb_show_usage(); } +#if ENABLE_LOCALE_SUPPORT + setlocale(LC_NUMERIC, ""); +#endif + /* Last checked to be compatible with: coreutils-6.10 */ width = 0; frac_part = 0;