awk: undo locale setting for numbers - or else parsing

can act quite mysteriously
date: add if(ENABLE_LOCALE_SUPPORT)
This commit is contained in:
Denis Vlasenko 2007-01-01 23:53:12 +00:00
parent f782f52c8c
commit 6dc6ebbf44
2 changed files with 7 additions and 1 deletions

View File

@ -212,6 +212,7 @@ format_utc:
}
} else if (opt & DATE_OPT_RFC2822) {
/* Undo busybox.c for date -R */
if (ENABLE_LOCALE_SUPPORT)
setlocale(LC_TIME, "C");
strcpy(date_fmt, "%a, %d %b %Y %H:%M:%S ");
i = 22;

View File

@ -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 */