fixed bug #1328629 - Explicitly setting $LANGUAGE does not operate as expected

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4331 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2005-10-17 13:39:18 +00:00
parent 0a17affe37
commit 9ab47b62b5

View file

@ -177,6 +177,7 @@ static void NSISCALL set_language()
LANGID lang=state_language[0]?myatoi(state_language):GetUserDefaultLangID();
char *language_table=0;
int lang_num;
int *selected_langtable=0;
lang_again:
lang_num=g_blocks[NB_LANGTABLES].num;
@ -185,11 +186,11 @@ lang_again:
if (!((lang ^ *(LANGID*)language_table) & lang_mask)) {
dlg_offset=*(int*)(language_table+sizeof(LANGID));
g_exec_flags.rtl=*(int*)(language_table+sizeof(LANGID)+sizeof(int));
cur_langtable=(int*)(language_table+sizeof(LANGID)+2*sizeof(int));
selected_langtable=(int*)(language_table+sizeof(LANGID)+2*sizeof(int));
break;
}
}
if (!cur_langtable) {
if (!selected_langtable) {
if (lang_mask == (LANGID)~0)
lang_mask=0x3ff; // primary lang
else // we already tried once and we still don't have a language table
@ -197,6 +198,8 @@ lang_again:
goto lang_again;
}
cur_langtable = selected_langtable;
myitoa(state_language, *(LANGID*)language_table);
{
char *caption = GetNSISString(g_caption,LANG_CAPTION);