Set locale only once and do not override it later

This commit is contained in:
Christian Göttsche 2020-12-02 18:08:53 +01:00 committed by BenBE
parent b76eaf187a
commit 4f7d48aa24
2 changed files with 3 additions and 7 deletions

3
CRT.c
View File

@ -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;

7
htop.c
View File

@ -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, "");