Use a Common::String instead of a fixed size array for _syslang in TranslationManager.
svn-id: r49871
This commit is contained in:
parent
7c7054dbd1
commit
0bff5c29fe
2 changed files with 7 additions and 12 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue