Add fallback for locale-setting on systems without C.UTF-8 locale

This commit is contained in:
jaseg 2020-12-25 15:47:08 +01:00
parent e6103e70be
commit b6480279fb

View file

@ -156,10 +156,13 @@ int main(int argc, char** argv)
} }
char* env_lang = getenv("LANG"); char* env_lang = getenv("LANG");
if (force_locale && env_lang && !strstr(env_lang, "UTF-8")) if (force_locale && env_lang && !strstr(env_lang, "UTF-8")) {
setlocale(LC_ALL, "C.UTF-8"); if (!setlocale(LC_ALL, "C.UTF-8")) { /* C.UTF-8 may not be available on all platforms */
else setlocale(LC_ALL, ""); /* Let's hope for the best */
}
} else {
setlocale(LC_ALL, ""); setlocale(LC_ALL, "");
}
i = 0; i = 0;
for (char** filename = inputs; filename < inputs_end; filename++) { for (char** filename = inputs; filename < inputs_end; filename++) {
@ -215,7 +218,7 @@ int main(int argc, char** argv)
putwchar(c); putwchar(c);
if (escape_state == 2) if (escape_state == 2) /* implies "colors" */
wprintf(L"\033[38;5;%hhum", codes[(rand_offset + cc) % ARRAY_SIZE(codes)]); wprintf(L"\033[38;5;%hhum", codes[(rand_offset + cc) % ARRAY_SIZE(codes)]);
} }