| Bug #371 | Locale set wrongly | ||
|---|---|---|---|
| Submitted: | 5 May 2003 7:46 | Modified: | 13 Jun 2003 11:32 |
| Reporter: | Dennis Haney | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / ODBC | Severity: | S2 (Serious) |
| Version: | 3.51.06 | OS: | Linux (debian unstable) |
| Assigned to: | Venu Anuganti | CPU Architecture: | Any |
[21 May 2003 9:54]
Venu Anuganti
Hi !! I couldn't able to find any instance of code in the current 3.51 or 3.52 source trees which sets setlocate to "C". So, looks like you have somefiles which are not original. FYI: The lines that you specified does have the locale to "ENGLISH" only. Thanks Venu
[21 May 2003 12:37]
Dennis Haney
No, the patch is just reversed and you didnt read what I wrote.
[13 Jun 2003 11:32]
Venu Anuganti
Thank you for your bug report. This issue has been fixed in the latest
development tree for that product. You can find more information about
accessing our development trees at
http://www.mysql.com/doc/en/Installing_source_tree.html
[11 Aug 2005 3:43]
[ name withheld ]
This bug is in fact still not fixed as of 3.51.11. Dennis pointed to one instance of the Windows-ism "English" but there are three more. Try grepping for 'setlocale.*English'... The bug is of very long standing, it's in the 2.* branch too --- see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=84872

Description: To force usage of . as the decimal point, locale "C" is the right one (at least "English" didnt work here) How to repeat: Suggested fix: --- execute.c 2003-03-14 22:32:25.000000000 +0100 +++ execute.c~ 2003-02-24 10:59:51.000000000 +0100 @@ -206,7 +206,7 @@ net= &stmt->dbc->mysql.net; to=net->buff; if (!(stmt->dbc->flag & FLAG_NO_LOCALE)) - setlocale(LC_NUMERIC,"C"); /* force use of '.' as decimal point */ + setlocale(LC_NUMERIC,"English"); /* force use of '.' as decimal point */ for (i=0; i < stmt->param_count; i++) { PARAM_BIND *param=dynamic_element(&stmt->params,i,PARAM_BIND*); diff is against 3.51.06