Skip to content
Permalink
Browse files

- set locale to US English UTF-8 for POSIX targets

Locale-dependent standard library functions didn't treat UTF-8 strings correctly, e.g. iswalpha() returns 0 for any non-latin letter
The same function from MSVC runtime classifies such characters as alphabetic even with C locale

https://forum.zdoom.org/viewtopic.php?t=65641&start=18#p1115930
  • Loading branch information...
alexey-lysiuk committed Aug 23, 2019
1 parent 1595bf3 commit 80ef9ca686fb91dff53f4c2e5a6f9cebc510f368
Showing with 4 additions and 4 deletions.
  1. +2 −2 src/posix/cocoa/i_main.mm
  2. +2 −2 src/posix/sdl/i_main.cpp
@@ -199,8 +199,8 @@ int OriginalMain(int argc, char** argv)
// Set LC_NUMERIC environment variable in case some library decides to
// clear the setlocale call at least this will be correct.
// Note that the LANG environment variable is overridden by LC_*
setenv("LC_NUMERIC", "C", 1);
setlocale(LC_ALL, "C");
setenv("LC_NUMERIC", "en_US.UTF-8", 1);
setlocale(LC_ALL, "en_US.UTF-8");

// Set reasonable default values for video settings

@@ -170,9 +170,9 @@ int main (int argc, char **argv)
// Set LC_NUMERIC environment variable in case some library decides to
// clear the setlocale call at least this will be correct.
// Note that the LANG environment variable is overridden by LC_*
setenv ("LC_NUMERIC", "C", 1);
setenv ("LC_NUMERIC", "en_US.UTF-8", 1);

setlocale (LC_ALL, "C");
setlocale (LC_ALL, "en_US.UTF-8");

if (SDL_Init (0) < 0)
{

0 comments on commit 80ef9ca

Please sign in to comment.
You can’t perform that action at this time.