aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-11-21 00:09:37 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-11-21 00:09:37 +0000
commitfcdb00f7359488d197ac3361dfbc49ccdead8b87 (patch)
treef9dae67bb1b22c7249c24e20b7f4ae82ec824d52
parent6c85ddc8509e4b72ca5b4e47ca5085101a02f07c (diff)
downloadbusybox-w32-fcdb00f7359488d197ac3361dfbc49ccdead8b87.tar.gz
busybox-w32-fcdb00f7359488d197ac3361dfbc49ccdead8b87.tar.bz2
busybox-w32-fcdb00f7359488d197ac3361dfbc49ccdead8b87.zip
httpd: LC_TIME locale _must_ be POSIX to httpd! We speak over the net!
-rw-r--r--applets/busybox.c4
-rw-r--r--coreutils/cal.c7
-rw-r--r--coreutils/ls.c2
-rw-r--r--coreutils/wc.c2
-rw-r--r--networking/httpd.c15
-rw-r--r--shell/ash.c1
-rw-r--r--shell/lash.c5
7 files changed, 19 insertions, 17 deletions
diff --git a/applets/busybox.c b/applets/busybox.c
index 9f2eddebd..4d59b4518 100644
--- a/applets/busybox.c
+++ b/applets/busybox.c
@@ -64,8 +64,8 @@ int main(int argc, char **argv)
64 for (s = applet_name; *s ;) 64 for (s = applet_name; *s ;)
65 if (*(s++) == '/') applet_name = s; 65 if (*(s++) == '/') applet_name = s;
66 66
67 /* Set locale for everybody except `init' */ 67 /* Set locale for everybody except 'init' */
68 if(ENABLE_LOCALE_SUPPORT && getpid() != 1) 68 if (ENABLE_LOCALE_SUPPORT && getpid() != 1)
69 setlocale(LC_ALL, ""); 69 setlocale(LC_ALL, "");
70 70
71 run_applet_by_name(applet_name, argc, argv); 71 run_applet_by_name(applet_name, argc, argv);
diff --git a/coreutils/cal.c b/coreutils/cal.c
index 6f5f0a434..681a88d90 100644
--- a/coreutils/cal.c
+++ b/coreutils/cal.c
@@ -87,9 +87,10 @@ int cal_main(int argc, char **argv)
87 char day_headings[28]; /* 28 for julian, 21 for nonjulian */ 87 char day_headings[28]; /* 28 for julian, 21 for nonjulian */
88 char buf[40]; 88 char buf[40];
89 89
90#ifdef CONFIG_LOCALE_SUPPORT 90// Done in busybox.c, ok to remove?
91 setlocale(LC_TIME, ""); 91//#ifdef CONFIG_LOCALE_SUPPORT
92#endif 92// setlocale(LC_TIME, "");
93//#endif
93 94
94 flags = getopt32(argc, argv, "jy"); 95 flags = getopt32(argc, argv, "jy");
95 96
diff --git a/coreutils/ls.c b/coreutils/ls.c
index 8a83d7543..909f4d54e 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -359,7 +359,7 @@ static int sortcmp(const void *a, const void *b)
359 } 359 }
360 360
361 if (dif == 0) { 361 if (dif == 0) {
362 /* sort by name- may be a tie_breaker for time or size cmp */ 362 /* sort by name - may be a tie_breaker for time or size cmp */
363 if (ENABLE_LOCALE_SUPPORT) dif = strcoll(d1->name, d2->name); 363 if (ENABLE_LOCALE_SUPPORT) dif = strcoll(d1->name, d2->name);
364 else dif = strcmp(d1->name, d2->name); 364 else dif = strcmp(d1->name, d2->name);
365 } 365 }
diff --git a/coreutils/wc.c b/coreutils/wc.c
index 4b76e5499..973929ebe 100644
--- a/coreutils/wc.c
+++ b/coreutils/wc.c
@@ -44,8 +44,6 @@
44#include "busybox.h" 44#include "busybox.h"
45 45
46#ifdef CONFIG_LOCALE_SUPPORT 46#ifdef CONFIG_LOCALE_SUPPORT
47#include <locale.h>
48#include <ctype.h>
49#define isspace_given_isprint(c) isspace(c) 47#define isspace_given_isprint(c) isspace(c)
50#else 48#else
51#undef isspace 49#undef isspace
diff --git a/networking/httpd.c b/networking/httpd.c
index afcd089b0..47d41a1e2 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -846,9 +846,11 @@ static int sendHeaders(HttpResponseNum responseNum)
846 time_t timer = time(0); 846 time_t timer = time(0);
847 char timeStr[80]; 847 char timeStr[80];
848 int len; 848 int len;
849 enum {
850 numNames = sizeof(httpResponseNames) / sizeof(httpResponseNames[0])
851 };
849 852
850 for (i = 0; 853 for (i = 0; i < numNames; i++) {
851 i < (sizeof(httpResponseNames)/sizeof(httpResponseNames[0])); i++) {
852 if (httpResponseNames[i].type == responseNum) { 854 if (httpResponseNames[i].type == responseNum) {
853 responseString = httpResponseNames[i].name; 855 responseString = httpResponseNames[i].name;
854 infoString = httpResponseNames[i].info; 856 infoString = httpResponseNames[i].info;
@@ -1177,7 +1179,7 @@ static int sendCgi(const char *url,
1177# error "PIPESIZE >= MAX_MEMORY_BUFF" 1179# error "PIPESIZE >= MAX_MEMORY_BUFF"
1178#endif 1180#endif
1179 1181
1180 // There is something to read 1182 /* There is something to read */
1181 count = safe_read(inFd, rbuf, PIPESIZE); 1183 count = safe_read(inFd, rbuf, PIPESIZE);
1182 if (count == 0) 1184 if (count == 0)
1183 break; /* closed */ 1185 break; /* closed */
@@ -1197,7 +1199,7 @@ static int sendCgi(const char *url,
1197 break; 1199 break;
1198 1200
1199 if (DEBUG) 1201 if (DEBUG)
1200 fprintf(stderr, "cgi read %d bytes\n", count); 1202 fprintf(stderr, "cgi read %d bytes: '%.*s'\n", count, count, rbuf);
1201 } 1203 }
1202 } 1204 }
1203 } 1205 }
@@ -1838,6 +1840,11 @@ int httpd_main(int argc, char *argv[])
1838 USE_FEATURE_HTTPD_SETUID(struct bb_uidgid_t ugid;) 1840 USE_FEATURE_HTTPD_SETUID(struct bb_uidgid_t ugid;)
1839 USE_FEATURE_HTTPD_AUTH_MD5(const char *pass;) 1841 USE_FEATURE_HTTPD_AUTH_MD5(const char *pass;)
1840 1842
1843#if ENABLE_LOCALE_SUPPORT
1844 /* Undo busybox.c: we want to speak English in http (dates etc) */
1845 setlocale(LC_TIME, "C");
1846#endif
1847
1841 config = xzalloc(sizeof(*config)); 1848 config = xzalloc(sizeof(*config));
1842#if ENABLE_FEATURE_HTTPD_BASIC_AUTH 1849#if ENABLE_FEATURE_HTTPD_BASIC_AUTH
1843 config->realm = "Web Server Authentication"; 1850 config->realm = "Web Server Authentication";
diff --git a/shell/ash.c b/shell/ash.c
index 3c7639707..4fef0f2d3 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -1495,7 +1495,6 @@ static void getoptsreset(const char *);
1495#endif 1495#endif
1496 1496
1497#ifdef CONFIG_LOCALE_SUPPORT 1497#ifdef CONFIG_LOCALE_SUPPORT
1498#include <locale.h>
1499static void change_lc_all(const char *value); 1498static void change_lc_all(const char *value);
1500static void change_lc_ctype(const char *value); 1499static void change_lc_ctype(const char *value);
1501#endif 1500#endif
diff --git a/shell/lash.c b/shell/lash.c
index 4067bc6bc..472cbddb9 100644
--- a/shell/lash.c
+++ b/shell/lash.c
@@ -25,10 +25,6 @@
25#include <getopt.h> 25#include <getopt.h>
26#include "cmdedit.h" 26#include "cmdedit.h"
27 27
28#ifdef CONFIG_LOCALE_SUPPORT
29#include <locale.h>
30#endif
31
32#include <glob.h> 28#include <glob.h>
33#define expand_t glob_t 29#define expand_t glob_t
34 30
@@ -377,6 +373,7 @@ static int builtin_export(struct child_prog *child)
377#endif 373#endif
378 374
379#ifdef CONFIG_LOCALE_SUPPORT 375#ifdef CONFIG_LOCALE_SUPPORT
376 // TODO: why getenv? "" would be just as good...
380 if(strncmp(v, "LC_ALL=", 7)==0) 377 if(strncmp(v, "LC_ALL=", 7)==0)
381 setlocale(LC_ALL, getenv("LC_ALL")); 378 setlocale(LC_ALL, getenv("LC_ALL"));
382 if(strncmp(v, "LC_CTYPE=", 9)==0) 379 if(strncmp(v, "LC_CTYPE=", 9)==0)