diff options
| author | Frank Warmerdam <warmerdam@pobox.com> | 2009-09-24 02:14:06 +0000 |
|---|---|---|
| committer | Frank Warmerdam <warmerdam@pobox.com> | 2009-09-24 02:14:06 +0000 |
| commit | a26eeddef9022ffdcdcc6bc5b301346d2da22f7a (patch) | |
| tree | 3b1c2f7bcc85eed0ff8f7df426547dde3f8f08d6 | |
| parent | 84d22b2a85c5f0b4aab0fcd8be9202e603ad0f73 (diff) | |
| download | PROJ-a26eeddef9022ffdcdcc6bc5b301346d2da22f7a.tar.gz PROJ-a26eeddef9022ffdcdcc6bc5b301346d2da22f7a.zip | |
temporarily set locale to C to avoid locale numeric issues (#49)
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1630 4e78687f-474d-0410-85f9-8d5e500ac6b2
| -rw-r--r-- | ChangeLog | 3 | ||||
| -rw-r--r-- | src/pj_init.c | 7 |
2 files changed, 10 insertions, 0 deletions
@@ -1,5 +1,8 @@ 2009-09-23 Frank Warmerdam <warmerdam@pobox.com> + * src/pj_init.c: Temporarily set locale to "C" to avoid locale + specific number parsing (#49). + * src/pj_rho.c: move rho out of structure, threadsafety issue (#41). * nmake.opt: improve comments (#50). diff --git a/src/pj_init.c b/src/pj_init.c index 6b70d62b..2d84ef3f 100644 --- a/src/pj_init.c +++ b/src/pj_init.c @@ -34,6 +34,7 @@ #include <stdio.h> #include <string.h> #include <errno.h> +#include <locale.h> PJ_CVSID("$Id$"); @@ -225,10 +226,14 @@ pj_init(int argc, char **argv) { paralist *curr; int i; PJ *PIN = 0; + const char *old_locale; errno = pj_errno = 0; start = NULL; + old_locale = setlocale(LC_NUMERIC, NULL); + setlocale(LC_NUMERIC,"C"); + /* put arguments into internal linked list */ if (argc <= 0) { pj_errno = -1; goto bum_call; } for (i = 0; i < argc; ++i) @@ -377,6 +382,8 @@ bum_call: /* cleanup error return */ } PIN = 0; } + setlocale(LC_NUMERIC,old_locale); + return PIN; } |
