From 4f7d48aa24b20f92b3cd9438a446e345b849c39b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Wed, 2 Dec 2020 18:08:53 +0100 Subject: Set locale only once and do not override it later --- CRT.c | 3 --- htop.c | 7 +++---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/CRT.c b/CRT.c index 51fc876b..b5429475 100644 --- a/CRT.c +++ b/CRT.c @@ -725,9 +725,6 @@ void CRT_init(const int* delay, int colorScheme, bool allowUnicode) { CRT_colorScheme = COLORSCHEME_MONOCHROME; CRT_setColors(CRT_colorScheme); - /* initialize locale */ - setlocale(LC_CTYPE, ""); - #ifdef HAVE_LIBNCURSESW if (allowUnicode && String_eq(nl_langinfo(CODESET), "UTF-8")) { CRT_utf8 = true; diff --git a/htop.c b/htop.c index 41ef155e..23da0815 100644 --- a/htop.c +++ b/htop.c @@ -262,10 +262,9 @@ static void setCommFilter(State* state, char** commFilter) { int main(int argc, char** argv) { - char *lc_ctype = getenv("LC_CTYPE"); - if (lc_ctype != NULL) - setlocale(LC_CTYPE, lc_ctype); - else if ((lc_ctype = getenv("LC_ALL"))) + /* initialize locale */ + const char* lc_ctype; + if ((lc_ctype = getenv("LC_CTYPE")) || (lc_ctype = getenv("LC_ALL"))) setlocale(LC_CTYPE, lc_ctype); else setlocale(LC_CTYPE, ""); -- cgit v1.2.3