summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2014-08-13 10:09:49 +0200
committerDenys Vlasenko2014-08-13 10:09:49 +0200
commit841f8331d79c642b4268dae52c382fab2da9cddc (patch)
treee2d69ca863fc404669d78952b48561fde336431f
parentc538d5bcc304d1ac99783de2337937c70a7013c7 (diff)
downloadbusybox-841f8331d79c642b4268dae52c382fab2da9cddc.zip
busybox-841f8331d79c642b4268dae52c382fab2da9cddc.tar.gz
ash,hush: run reinit_unicode() only if makes sense
With static Unicode support, no need to check $LANG et al. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/ash.c4
-rw-r--r--shell/hush.c12
2 files changed, 11 insertions, 5 deletions
diff --git a/shell/ash.c b/shell/ash.c
index dc7a9bf..3b8aac5 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -9661,7 +9661,9 @@ preadfd(void)
* _during_ shell execution, not only if it was set when
* shell was started. Therefore, re-check LANG every time:
*/
- {
+ if (ENABLE_FEATURE_CHECK_UNICODE_IN_ENV
+ || ENABLE_UNICODE_USING_LOCALE
+ ) {
const char *s = lookupvar("LC_ALL");
if (!s) s = lookupvar("LC_CTYPE");
if (!s) s = lookupvar("LANG");
diff --git a/shell/hush.c b/shell/hush.c
index 7d35471..92d7901 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -1985,10 +1985,14 @@ static void reinit_unicode_for_hush(void)
* _during_ shell execution, not only if it was set when
* shell was started. Therefore, re-check LANG every time:
*/
- const char *s = get_local_var_value("LC_ALL");
- if (!s) s = get_local_var_value("LC_CTYPE");
- if (!s) s = get_local_var_value("LANG");
- reinit_unicode(s);
+ if (ENABLE_FEATURE_CHECK_UNICODE_IN_ENV
+ || ENABLE_UNICODE_USING_LOCALE
+ ) {
+ const char *s = get_local_var_value("LC_ALL");
+ if (!s) s = get_local_var_value("LC_CTYPE");
+ if (!s) s = get_local_var_value("LANG");
+ reinit_unicode(s);
+ }
}