aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2004-10-18 13:37:18 +0000
committerDaniel Stenberg <daniel@haxx.se>2004-10-18 13:37:18 +0000
commit82d6cfa7fcd03b477124b9cfcd7ce51646fe573e (patch)
treeb3cc0c7b51be8bbd860c2d73df1a40555ad1fde0 /src
parent48750d5fc7c718da690749e19e745f307feed599 (diff)
Peter Wullinger pointed out that curl should call setlocale() properly to
initiate the specific language operations, to make the IDN stuff work better.
Diffstat (limited to 'src')
-rw-r--r--src/config.h.in6
-rw-r--r--src/main.c11
2 files changed, 16 insertions, 1 deletions
diff --git a/src/config.h.in b/src/config.h.in
index 3bd44ab88..45eab3694 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -95,6 +95,12 @@
/* Define if you have the <limits.h> header file */
#undef HAVE_LIMITS_H
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if you have the `setlocale' function. */
+#undef HAVE_SETLOCALE
+
/* type to use in place of socklen_t if not defined */
#undef socklen_t
diff --git a/src/main.c b/src/main.c
index 86e06ccd3..75a4355c1 100644
--- a/src/main.c
+++ b/src/main.c
@@ -90,7 +90,7 @@
#include <sys/utime.h>
#endif
-#endif
+#endif /* HAVE_UTIME_H */
#ifdef HAVE_LIMITS_H
#include <limits.h>
@@ -100,6 +100,10 @@
#include <sys/poll.h>
#endif
+#ifdef HAVE_LOCALE_H
+#include <locale.h> /* for setlocale() */
+#endif
+
#define ENABLE_CURLX_PRINTF
/* make the curlx header define all printf() functions to use the curlx_*
versions instead */
@@ -2790,6 +2794,11 @@ operate(struct Configurable *config, int argc, char *argv[])
errorbuffer[0]=0; /* prevent junk from being output */
+ /* setup proper locale from environment */
+#ifdef HAVE_SETLOCALE
+ setlocale(LC_ALL, "");
+#endif
+
/* inits */
if (main_init() != CURLE_OK) {
helpf("error initializing curl library\n");