mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-09-22 19:25:19 +08:00
Re-added SDL_getenv() as a thread-safe getenv() implementation
This commit is contained in:
+298
-282
File diff suppressed because it is too large
Load Diff
@@ -1,23 +0,0 @@
|
||||
/*
|
||||
Simple DirectMedia Layer
|
||||
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
#include "SDL_internal.h"
|
||||
|
||||
extern void SDL_FreeEnvironmentMemory(void);
|
||||
@@ -163,15 +163,15 @@ static const char *getlocale(char *buffer, size_t bufsize)
|
||||
const char *lang;
|
||||
char *ptr;
|
||||
|
||||
lang = SDL_GetEnvironmentVariable(SDL_GetEnvironment(), "LC_ALL");
|
||||
lang = SDL_getenv("LC_ALL");
|
||||
if (!lang) {
|
||||
lang = SDL_GetEnvironmentVariable(SDL_GetEnvironment(), "LC_CTYPE");
|
||||
lang = SDL_getenv("LC_CTYPE");
|
||||
}
|
||||
if (!lang) {
|
||||
lang = SDL_GetEnvironmentVariable(SDL_GetEnvironment(), "LC_MESSAGES");
|
||||
lang = SDL_getenv("LC_MESSAGES");
|
||||
}
|
||||
if (!lang) {
|
||||
lang = SDL_GetEnvironmentVariable(SDL_GetEnvironment(), "LANG");
|
||||
lang = SDL_getenv("LANG");
|
||||
}
|
||||
if (!lang || !*lang || SDL_strcmp(lang, "C") == 0) {
|
||||
lang = "ASCII";
|
||||
|
||||
Reference in New Issue
Block a user