From: Denis Vlasenko Date: Mon, 1 Jan 2007 23:53:12 +0000 (-0000) Subject: awk: undo locale setting for numbers - or else parsing X-Git-Tag: 1_4_0~137 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=6dc6ebbf44f01f31b683ddde36f0ba694b98bbdd;p=oweals%2Fbusybox.git awk: undo locale setting for numbers - or else parsing can act quite mysteriously date: add if(ENABLE_LOCALE_SUPPORT) --- diff --git a/coreutils/date.c b/coreutils/date.c index 37ccfd5ba..a6690e8bd 100644 --- a/coreutils/date.c +++ b/coreutils/date.c @@ -212,7 +212,8 @@ format_utc: } } else if (opt & DATE_OPT_RFC2822) { /* Undo busybox.c for date -R */ - setlocale(LC_TIME, "C"); + if (ENABLE_LOCALE_SUPPORT) + setlocale(LC_TIME, "C"); strcpy(date_fmt, "%a, %d %b %Y %H:%M:%S "); i = 22; goto format_utc; diff --git a/editors/awk.c b/editors/awk.c index 97e78163c..f48b0e43f 100644 --- a/editors/awk.c +++ b/editors/awk.c @@ -2652,6 +2652,11 @@ int awk_main(int argc, char **argv) char *vnames = (char *)vNames; /* cheat */ char *vvalues = (char *)vValues; + /* Undo busybox.c, or else strtod may eat ','! This breaks parsing: + * $1,$2 == '$1,' '$2', NOT '$1' ',' '$2' */ + if (ENABLE_LOCALE_SUPPORT) + setlocale(LC_NUMERIC, "C"); + zero_out_var(&tv); /* allocate global buffer */