[git commit] seq: fix input handling in non-C locales
Denys Vlasenko
vda.linux at googlemail.com
Mon Jun 15 13:47:58 UTC 2009
commit: http://git.busybox.net/busybox/commit/?id=9517d8ad72c8db8336ea8dba05a64df44688dec8
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
coreutils/seq.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/coreutils/seq.c b/coreutils/seq.c
index bb39a5b..03ae3c6 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;
--
1.6.0.6
More information about the busybox-cvs
mailing list