diff options
author | Johannes Schickel | 2010-06-15 17:33:45 +0000 |
---|---|---|
committer | Johannes Schickel | 2010-06-15 17:33:45 +0000 |
commit | 0bff5c29fe8d7d0c4edaabee576289ea3cb21d4c (patch) | |
tree | d2fd058c18544543f5f76c5262d66135c31f53bd /common | |
parent | 7c7054dbd1697b95634979f05d4a7b153bb17082 (diff) | |
download | scummvm-rg350-0bff5c29fe8d7d0c4edaabee576289ea3cb21d4c.tar.gz scummvm-rg350-0bff5c29fe8d7d0c4edaabee576289ea3cb21d4c.tar.bz2 scummvm-rg350-0bff5c29fe8d7d0c4edaabee576289ea3cb21d4c.zip |
Use a Common::String instead of a fixed size array for _syslang in TranslationManager.
svn-id: r49871
Diffstat (limited to 'common')
-rw-r--r-- | common/translation.cpp | 17 | ||||
-rw-r--r-- | common/translation.h | 2 |
2 files changed, 7 insertions, 12 deletions
diff --git a/common/translation.cpp b/common/translation.cpp index 0b3d1237a9..5598cbcf8c 100644 --- a/common/translation.cpp +++ b/common/translation.cpp @@ -52,17 +52,12 @@ TranslationManager::TranslationManager() { const char *locale = setlocale(LC_ALL, ""); // Detect the language from the locale - if (!locale) { - strcpy(_syslang, "C"); - } else { - int len = strlen(locale); - if (len > 5) - len = 5; - strncpy(_syslang, locale, len); - _syslang[len] = 0; - } + if (!locale) + _syslang = "C"; + else + _syslang = locale; #else // DETECTLANG - strcpy(_syslang, "C"); + _syslang = "C"; #endif // DETECTLANG #ifdef TERMCONV @@ -84,7 +79,7 @@ TranslationManager::~TranslationManager() { void TranslationManager::setLanguage(const char *lang) { if (*lang == '\0') - po2c_setlang(_syslang); + po2c_setlang(_syslang.c_str()); else po2c_setlang(lang); diff --git a/common/translation.h b/common/translation.h index 7be21df60f..a844c1f438 100644 --- a/common/translation.h +++ b/common/translation.h @@ -61,7 +61,7 @@ typedef Array<TLanguage> TLangArray; */ class TranslationManager : public Singleton<TranslationManager> { private: - char _syslang[6]; + Common::String _syslang; #ifdef TERMCONV iconv_t _conversion; |