Support for 3-letter language codes (bug 3526, r=ds).
authorDavid Anderson <dvander@alliedmods.net>
Sun Dec 28 02:38:53 2008 -0500 (2008-12-28)
changeset 24781899f97aded6
parent 2477 b51cbb84d3f0
child 2479 44e8e76d4e53
child 2483 6c70eef2b259
Support for 3-letter language codes (bug 3526, r=ds).
core/Translator.cpp
core/Translator.h
     1.1 --- a/core/Translator.cpp	Sun Dec 28 01:10:20 2008 -0500
     1.2 +++ b/core/Translator.cpp	Sun Dec 28 02:38:53 2008 -0500
     1.3 @@ -487,7 +487,7 @@
     1.4  	else 
     1.5  	{
     1.6  		size_t len = strlen(key);
     1.7 -		if (len != 2)
     1.8 +		if (len < 2 || len > 3)
     1.9  		{
    1.10  			ParseWarning("Ignoring translation to invalid language \"%s\" on line %d.", key, states->line);
    1.11  			return SMCResult_Continue;
    1.12 @@ -936,7 +936,7 @@
    1.13  {
    1.14  	size_t len = strlen(key);
    1.15  
    1.16 -	if (len != 2)
    1.17 +	if (len < 2 || len > 3)
    1.18  	{
    1.19  		g_Logger.LogError("[SM] Warning encountered parsing languages.cfg file.");
    1.20  		g_Logger.LogError("[SM] Invalid language code \"%s\" is being ignored.", key);
    1.21 @@ -957,9 +957,7 @@
    1.22  	Language *pLanguage = new Language;
    1.23  	unsigned int idx = m_Languages.size();
    1.24  
    1.25 -	pLanguage->m_code2[0] = langcode[0];
    1.26 -	pLanguage->m_code2[1] = langcode[1];
    1.27 -	pLanguage->m_code2[2] = langcode[2];
    1.28 +	UTIL_Format(pLanguage->m_code2, sizeof(pLanguage->m_code2), "%s", langcode);
    1.29  	pLanguage->m_FullName = m_pStringTab->AddString(description);
    1.30  
    1.31  	sm_trie_insert(m_pLCodeLookup, langcode, reinterpret_cast<void *>(idx));
     2.1 --- a/core/Translator.h	Sun Dec 28 01:10:20 2008 -0500
     2.2 +++ b/core/Translator.h	Sun Dec 28 02:38:53 2008 -0500
     2.3 @@ -57,7 +57,7 @@
     2.4  
     2.5  struct Language
     2.6  {
     2.7 -	char m_code2[3];
     2.8 +	char m_code2[4];
     2.9  	int m_FullName;
    2.10  };
    2.11  
    2.12 @@ -159,7 +159,7 @@
    2.13  	bool m_InLanguageSection;
    2.14  	String m_CustomError;
    2.15  	unsigned int m_ServerLang;
    2.16 -	char m_InitialLang[3];
    2.17 +	char m_InitialLang[4];
    2.18  };
    2.19  
    2.20  /* Nice little wrapper to handle error logging and whatnot */