Skip to content

Commit

Permalink
- set locale to US English UTF-8 for POSIX targets
Browse files Browse the repository at this point in the history
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 80ef9ca
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions src/posix/cocoa/i_main.mm
Expand Up @@ -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

Expand Down
4 changes: 2 additions & 2 deletions src/posix/sdl/i_main.cpp
Expand Up @@ -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)
{
Expand Down

0 comments on commit 80ef9ca

Please sign in to comment.