about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
Diffstat (limited to 'Src')
-rw-r--r--Src/main.c2
-rw-r--r--Src/params.c8
-rw-r--r--Src/system.h6
3 files changed, 11 insertions, 5 deletions
diff --git a/Src/main.c b/Src/main.c
index 762e06b90..51e929bc7 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -35,7 +35,7 @@ int
 main(int argc, char **argv)
 {
     char **t;
-#ifdef LC_ALL
+#ifdef USE_LOCALE
     setlocale(LC_ALL, "");
 #endif
 
diff --git a/Src/params.c b/Src/params.c
index 9f54084af..64aa7c865 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -146,7 +146,7 @@ IPDEF2("WORDCHARS", wordcharsgetfn, wordcharssetfn, 0),
 IPDEF2("IFS", ifsgetfn, ifssetfn, PM_DONTIMPORT),
 IPDEF2("_", underscoregetfn, nullsetfn, PM_READONLY),
 
-#ifdef LC_ALL
+#ifdef USE_LOCALE
 # define LCIPDEF(name) IPDEF2(name, strgetfn, lcsetfn, PM_UNSET)
 IPDEF2("LANG", strgetfn, langsetfn, PM_UNSET),
 IPDEF2("LC_ALL", strgetfn, lc_allsetfn, PM_UNSET),
@@ -162,7 +162,7 @@ LCIPDEF("LC_MESSAGES"),
 # ifdef LC_TIME
 LCIPDEF("LC_TIME"),
 # endif
-#endif
+#endif /* USE_LOCALE */
 
 #define IPDEF4(A,B) {NULL,A,PM_INTEGER|PM_READONLY|PM_SPECIAL,BR((void *)B),SFN(nullsetfn),GFN(intvargetfn),stdunsetfn,10,NULL,NULL,NULL,0}
 IPDEF4("!", &lastpid),
@@ -2444,7 +2444,7 @@ ifssetfn(Param pm, char *x)
 
 /* Functions to set value of special parameters `LANG' and `LC_*' */
 
-#ifdef LC_ALL
+#ifdef USE_LOCALE
 static struct localename {
     char *name;
     int category;
@@ -2511,7 +2511,7 @@ lcsetfn(Param pm, char *x)
 	if (!strcmp(ln->name, pm->nam))
 	    setlocale(ln->category, x ? x : "");
 }
-#endif
+#endif /* USE_LOCALE */
 
 /* Function to get value for special parameter `HISTSIZE' */
 
diff --git a/Src/system.h b/Src/system.h
index dbc387947..67f919bc8 100644
--- a/Src/system.h
+++ b/Src/system.h
@@ -632,3 +632,9 @@ extern short ospeed;
 #undef ESRCH
 #define ESRCH EINVAL
 #endif /* BROKEN_KILL_ESRCH */
+
+/* Can we do locale stuff? */
+#undef USE_LOCALE
+#if defined(CONFIG_LOCALE) && defined(HAVE_SETLOCALE) && defined(LC_ALL)
+# define USE_LOCALE 1
+#endif /* CONFIG_LOCALE && HAVE_SETLOCALE && LC_ALL */