Merge pull request #455 from clasher113/main

detect_locale crash fix
This commit is contained in:
MihailRis 2025-01-28 17:56:14 +03:00 committed by GitHub
commit efa5a5be2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -65,17 +65,21 @@ int platform::get_process_id() {
#else // _WIN32 #else // _WIN32
#include <unistd.h> #include <unistd.h>
#include "frontend/locale.hpp"
void platform::configure_encoding() { void platform::configure_encoding() {
} }
std::string platform::detect_locale() { std::string platform::detect_locale() {
std::string programLocaleName = setlocale(LC_ALL, nullptr); const char* const programLocaleName = setlocale(LC_ALL, nullptr);
std::string preferredLocaleName = const char* const preferredLocaleName =
setlocale(LC_ALL, ""); // locale name format: ll_CC.encoding setlocale(LC_ALL, ""); // locale name format: ll_CC.encoding
setlocale(LC_ALL, programLocaleName.c_str()); if (programLocaleName && preferredLocaleName) {
setlocale(LC_ALL, programLocaleName);
return preferredLocaleName.substr(0, 5); return std::string(preferredLocaleName, 5);
}
return langs::FALLBACK_DEFAULT;
} }
void platform::sleep(size_t millis) { void platform::sleep(size_t millis) {