diff --git a/Source/7zip/7zip/Compress/LZMA_SMALL/LZMA.h b/Source/7zip/7zip/Compress/LZMA_SMALL/LZMA.h index 28258e3b..c68b7e5b 100644 --- a/Source/7zip/7zip/Compress/LZMA_SMALL/LZMA.h +++ b/Source/7zip/7zip/Compress/LZMA_SMALL/LZMA.h @@ -9,7 +9,7 @@ const int kNumRepDistances = 4; const int kNumStates = 12; -const BYTE kLiteralNextStates[kNumStates] = {0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 4, 5}; +const BYTE kLiteralNextStates[kNumStates] = {0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 4, 5}; const BYTE kMatchNextStates[kNumStates] = {7, 7, 7, 7, 7, 7, 7, 10, 10, 10, 10, 10}; const BYTE kRepNextStates[kNumStates] = {8, 8, 8, 8, 8, 8, 8, 11, 11, 11, 11, 11}; const BYTE kShortRepNextStates[kNumStates]= {9, 9, 9, 9, 9, 9, 9, 11, 11, 11, 11, 11}; diff --git a/Source/7zip/7zip/Compress/LZMA_SMALL/LZMADecoder.cpp b/Source/7zip/7zip/Compress/LZMA_SMALL/LZMADecoder.cpp index 94f2bbe2..33993212 100644 --- a/Source/7zip/7zip/Compress/LZMA_SMALL/LZMADecoder.cpp +++ b/Source/7zip/7zip/Compress/LZMA_SMALL/LZMADecoder.cpp @@ -7,7 +7,6 @@ void CLZMADecoder::Create(BYTE *memoryPointer, int numLiteralPosStateBits, int numPosStateBits) { - int numPosStates = 1 << numPosStateBits; m_PosStateMask = numPosStates - 1; m_LiteralDecoder.Create(memoryPointer, numLiteralPosStateBits, numLiteralContextBits); @@ -139,15 +138,14 @@ UINT32 CLZMADecoder::Code(CLZMAStateP lzmaState) repDistances[2] = repDistances[1]; repDistances[1] = repDistances[0]; repDistances[0] = distance; + //LZMAMemCopy(repDistances, repDistances + 1, kNumRepDistances * sizeof(UINT32)); } - if (distance > nowPos || distance == 0) - { - // it's for stream version (without knowing uncompressed size) - // if (distance >= _dictionarySizeCheck) - if (distance == (UINT32)(0)) - break; + // it's for stream version (without knowing uncompressed size) + //if (distance >= _dictionarySizeCheck) + if (!distance) + break; + if (distance > nowPos) return (-1); - } len += kMatchMinLen; nowPos += len; diff --git a/Source/7zip/7zip/Compress/LZMA_SMALL/RangeCoder.h b/Source/7zip/7zip/Compress/LZMA_SMALL/RangeCoder.h index f60f7c2c..4a13053f 100644 --- a/Source/7zip/7zip/Compress/LZMA_SMALL/RangeCoder.h +++ b/Source/7zip/7zip/Compress/LZMA_SMALL/RangeCoder.h @@ -22,7 +22,7 @@ public: Range <<= 8; } } - + void Init(CLZMAStateP state) { Stream.Init(state); @@ -40,18 +40,18 @@ public: for (int i = numTotalBits; i > 0; i--) { range >>= 1; - /* + result <<= 1; if (code >= range) { code -= range; result |= 1; } - */ - UINT32 t = (code - range) >> 31; + + /*UINT32 t = (code - range) >> 31; code -= range & (t - 1); // range = aRangeTmp + ((range & 1) & (1 - t)); - result = (result + result) | (1 - t); + result = (result + result) | (1 - t);*/ if (range < kTopValue) { diff --git a/Source/7zip/7zip/Compress/LZMA_SMALL/RangeCoderOpt.h b/Source/7zip/7zip/Compress/LZMA_SMALL/RangeCoderOpt.h index 15678514..93a801d6 100644 --- a/Source/7zip/7zip/Compress/LZMA_SMALL/RangeCoderOpt.h +++ b/Source/7zip/7zip/Compress/LZMA_SMALL/RangeCoderOpt.h @@ -36,6 +36,8 @@ }} \ RC_NORMALIZE +//modelIndex <<= 1; if (code >= newBound) modelIndex++; + #define RC_GETBIT(prob, modelIndex) RC_GETBIT2(prob, modelIndex, ; , ;) #endif diff --git a/Source/7zip/lzmaNSIS.cpp b/Source/7zip/lzmaNSIS.cpp index d2364364..1abe3f18 100644 --- a/Source/7zip/lzmaNSIS.cpp +++ b/Source/7zip/lzmaNSIS.cpp @@ -95,12 +95,10 @@ DWORD WINAPI lzmaDecompressThread(LPVOID lpParameter) lzmaDecodeder->Create((LPBYTE) lzmaState->DynamicData, numLiteralContextBits, numLiteralPosStateBits, numPosStateBits); - UINT32 dictionarySize = 0; - for (int i = 0; i < 4; i++) - dictionarySize += ((UINT32)properties[1 + i]) << (i * 8); - if (lzmaState->Dictionary == 0 || dictionarySize != lzmaState->DictionarySize) + UINT32 dictionarySize = *(UINT32 *)(properties + 1); + if (dictionarySize != lzmaState->DictionarySize) { - if (lzmaState->Dictionary != 0) + if (lzmaState->Dictionary) LZMAFree(lzmaState->Dictionary); lzmaState->Dictionary = LZMAAlloc(dictionarySize); lzmaState->DictionarySize = dictionarySize; diff --git a/Source/exehead/Main.c b/Source/exehead/Main.c index 03942b51..27e7d5d3 100644 --- a/Source/exehead/Main.c +++ b/Source/exehead/Main.c @@ -231,7 +231,7 @@ end: #ifdef NSIS_COMPRESS_WHOLE if (dbd_hFile != INVALID_HANDLE_VALUE) CloseHandle(dbd_hFile); #endif - if (m_Err) my_MessageBox(m_Err, MB_OK | MB_ICONSTOP); + if (m_Err) my_MessageBox(m_Err, MB_OK | MB_ICONSTOP | (IDOK << 20)); #ifdef NSIS_CONFIG_PLUGIN_SUPPORT // Clean up after plug-ins diff --git a/Source/exehead/exec.c b/Source/exehead/exec.c index 11c95e6b..28a2778b 100644 --- a/Source/exehead/exec.c +++ b/Source/exehead/exec.c @@ -124,8 +124,8 @@ static int NSISCALL ExecuteEntry(entry *entry_) char *var0; char *var1; - char *var2; - char *var3; + //char *var2; + //char *var3; //char *var4; //char *var5; @@ -152,9 +152,9 @@ static int NSISCALL ExecuteEntry(entry *entry_) var0 = g_usrvars[parm0]; var1 = g_usrvars[parm1]; - var2 = g_usrvars[parm2]; - var3 = g_usrvars[parm3]; // not used yet + //var2 = g_usrvars[parm2]; + //var3 = g_usrvars[parm3]; //var4 = g_usrvars[parm4]; //var5 = g_usrvars[parm5]; @@ -227,7 +227,8 @@ static int NSISCALL ExecuteEntry(entry *entry_) if (insthwnd) ShowWindow(insthwnd,parm0); break; #endif//NSIS_CONFIG_VISIBLE_SUPPORT - case EW_SETFILEATTRIBUTES: { + case EW_SETFILEATTRIBUTES: + { char *buf1=GetStringFromParm(-0x10); log_printf3("SetFileAttributes: \"%s\":%08X",buf1,parm1); if (!SetFileAttributes(buf1,parm1)) @@ -323,8 +324,8 @@ static int NSISCALL ExecuteEntry(entry *entry_) case EW_GETFULLPATHNAME: { char *fp; - char *p=var0; - char *buf0=GetStringFromParm(0x01); + char *p=var1; + char *buf0=GetStringFromParm(0x00); if (!GetFullPathName(buf0,NSIS_MAX_STRLEN,p,&fp)) { exec_error++; @@ -459,7 +460,7 @@ static int NSISCALL ExecuteEntry(entry *entry_) GetNSISString(buf0,LANG_ERRORDECOMPRESSING); } log_printf2("%s",buf0); - my_MessageBox(buf0,MB_OK|MB_ICONSTOP); + my_MessageBox(buf0,MB_OK|MB_ICONSTOP|(IDOK<<20)); return EXEC_ERROR; } } @@ -670,7 +671,7 @@ static int NSISCALL ExecuteEntry(entry *entry_) if (!s) { log_printf2("Exch: stack < %d elements",parm2); - my_MessageBox(GetNSISStringTT(LANG_INSTCORRUPTED),MB_OK|MB_ICONSTOP); + my_MessageBox(GetNSISStringTT(LANG_INSTCORRUPTED),MB_OK|MB_ICONSTOP|(IDOK<<20)); return EXEC_ERROR; } mystrcpy(buf0,s->text); @@ -838,7 +839,7 @@ static int NSISCALL ExecuteEntry(entry *entry_) if (hProc) { log_printf2("Exec: success (\"%s\")",buf0); - if (parm1) + if (parm2) { DWORD lExitCode; while (WaitForSingleObject(hProc,100) == WAIT_TIMEOUT) @@ -849,7 +850,7 @@ static int NSISCALL ExecuteEntry(entry *entry_) } GetExitCodeProcess(hProc, &lExitCode); - if (parm2>=0) myitoa(var2,lExitCode); + if (parm1>=0) myitoa(var1,lExitCode); else if (lExitCode) exec_error++; } CloseHandle( hProc ); @@ -869,9 +870,9 @@ static int NSISCALL ExecuteEntry(entry *entry_) // also allows GetFileTime to be passed a wildcard. { WIN32_FIND_DATA *ffd; - char *highout=var1; - char *lowout=var2; - char *buf0=GetStringFromParm(0x00); + char *highout=var0; + char *lowout=var1; + char *buf0=GetStringFromParm(0x02); ffd=file_exists(buf0); if (ffd) @@ -890,13 +891,13 @@ static int NSISCALL ExecuteEntry(entry *entry_) #ifdef NSIS_SUPPORT_GETDLLVERSION case EW_GETDLLVERSION: { - char *highout=var1; - char *lowout=var2; + char *highout=var0; + char *lowout=var1; DWORD s1; DWORD t[4]; // our two members are the 3rd and 4th.. VS_FIXEDFILEINFO *pvsf1=(VS_FIXEDFILEINFO*)t; DWORD d; - char *buf1=GetStringFromParm(-0x10); + char *buf1=GetStringFromParm(-0x12); s1=GetFileVersionInfoSize(buf1,&d); *lowout=*highout=0; exec_error++; @@ -1077,7 +1078,7 @@ static int NSISCALL ExecuteEntry(entry *entry_) case EW_REBOOT: if (parm0!=0xbadf00d) { - my_MessageBox(GetNSISStringTT(LANG_INSTCORRUPTED),MB_OK|MB_ICONSTOP); + my_MessageBox(GetNSISStringTT(LANG_INSTCORRUPTED),MB_OK|MB_ICONSTOP|(IDOK<<20)); return EXEC_ERROR; } g_exec_flags.exec_error++; @@ -1282,8 +1283,8 @@ static int NSISCALL ExecuteEntry(entry *entry_) case EW_FOPEN: { HANDLE h; - char *handleout=var3; - char *buf1=GetStringFromParm(-0x10); + char *handleout=var0; + char *buf1=GetStringFromParm(-0x13); h=myOpenFile(buf1,parm1,parm2); if (h == INVALID_HANDLE_VALUE) { @@ -1359,11 +1360,11 @@ static int NSISCALL ExecuteEntry(entry *entry_) char *t=var0; if (*t) { - DWORD v=SetFilePointer((HANDLE)myatoi(t),GetIntFromParm(1),NULL,parm2); + DWORD v=SetFilePointer((HANDLE)myatoi(t),GetIntFromParm(2),NULL,parm3); - if (parm3>=0) + if (parm1>=0) { - myitoa(var3,v); + myitoa(var1,v); } } } @@ -1395,11 +1396,11 @@ static int NSISCALL ExecuteEntry(entry *entry_) break; case EW_FINDFIRST: { - char *textout=var1; - char *handleout=var2; + char *textout=var0; + char *handleout=var1; HANDLE h; WIN32_FIND_DATA fd; - char *buf0=GetStringFromParm(0x00); + char *buf0=GetStringFromParm(0x02); h=FindFirstFile(buf0,&fd); if (h == INVALID_HANDLE_VALUE) { @@ -1505,35 +1506,35 @@ static int NSISCALL ExecuteEntry(entry *entry_) if ((unsigned int)x < (unsigned int)num_sections) { section *sec=g_sections+x; - if (parm1>=0) // get something + if (parm2>=0) // get something { - int res=((int*)sec)[parm1]; - if (!parm1) + int res=((int*)sec)[parm2]; + if (!parm2) { // getting text - GetNSISString(var2,res); + GetNSISString(var1,res); } else { // getting number - myitoa(var2,res); + myitoa(var1,res); } } else // set something { - parm1=-parm1-1; - if (parm1) + parm2=-parm2-1; + if (parm2) { // not setting text, get int - parm2=GetIntFromParm(2); + parm1=GetIntFromParm(1); } else { // setting text, send the message to do it - SendMessage(hwSectionHack,WM_NOTIFY_SECTEXT,x,parm2); + SendMessage(hwSectionHack,WM_NOTIFY_SECTEXT,x,parm1); } - ((int*)sec)[parm1]=parm2; - if (parm1) + ((int*)sec)[parm2]=parm1; + if (parm2) { // update tree view SendMessage(hwSectionHack,WM_NOTIFY_SECFLAGS,x,0); diff --git a/Source/exehead/fileform.h b/Source/exehead/fileform.h index efb36fb9..4b8c5912 100644 --- a/Source/exehead/fileform.h +++ b/Source/exehead/fileform.h @@ -482,21 +482,6 @@ extern int g_is_uninstaller; #define g_sections ((section*)g_blocks[NB_SECTIONS].offset) #define num_sections (g_blocks[NB_SECTIONS].num) #define g_entries ((entry*)g_blocks[NB_ENTRIES].offset) -/*extern int num_sections; - -//extern int g_autoclose; -extern void *g_inst_combinedheader; -extern page *g_inst_page; -extern section *g_inst_section; -extern entry *g_inst_entry; - -#define g_inst_header ((header *)g_inst_combinedheader) -#define g_inst_cmnheader ((common_header *)g_inst_combinedheader) - -#ifdef NSIS_CONFIG_UNINSTALL_SUPPORT -#define g_inst_uninstheader ((uninstall_header *)g_inst_combinedheader) -extern int g_is_uninstaller; -#endif*/ #endif #endif //_FILEFORM_H_ diff --git a/Source/script.cpp b/Source/script.cpp index 3a2af37c..13d68131 100644 --- a/Source/script.cpp +++ b/Source/script.cpp @@ -3148,14 +3148,14 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) #ifdef NSIS_SUPPORT_EXECUTE ent.which=EW_EXECUTE; ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1] = 0; + ent.offsets[2]=0; if (which_token == TOK_EXECWAIT) { - ent.offsets[1]=1; - ent.offsets[2]=GetUserVarIndex(line, 2); - if (line.gettoken_str(2)[0] && ent.offsets[2]<0) PRINTHELP() + ent.offsets[2]=1; + ent.offsets[1]=GetUserVarIndex(line, 2); + if (line.gettoken_str(2)[0] && ent.offsets[1]<0) PRINTHELP() } - SCRIPT_MSG("%s: \"%s\" (->%s)\n",ent.offsets[1]?"ExecWait":"Exec",line.gettoken_str(1),line.gettoken_str(2)); + SCRIPT_MSG("%s: \"%s\" (->%s)\n",ent.offsets[2]?"ExecWait":"Exec",line.gettoken_str(1),line.gettoken_str(2)); DefineInnerLangString(NLF_EXEC); return add_entry(&ent); @@ -4274,8 +4274,8 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) ent.which=EW_GETFULLPATHNAME; if (line.getnumtokens()==4 && !stricmp(line.gettoken_str(1),"/SHORT")) a++; else if (line.getnumtokens()==4 || *line.gettoken_str(1)=='/') PRINTHELP() - ent.offsets[0]=GetUserVarIndex(line, 1+a); - ent.offsets[1]=add_string(line.gettoken_str(2+a)); + ent.offsets[0]=add_string(line.gettoken_str(2+a)); + ent.offsets[1]=GetUserVarIndex(line, 1+a); ent.offsets[2]=!a; if (ent.offsets[0]<0) PRINTHELP() SCRIPT_MSG("GetFullPathName: %s->%s (%d)\n", @@ -4299,10 +4299,10 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) case TOK_GETDLLVERSION: #ifdef NSIS_SUPPORT_GETDLLVERSION ent.which=EW_GETDLLVERSION; - ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=GetUserVarIndex(line, 2); - ent.offsets[2]=GetUserVarIndex(line, 3); - if (ent.offsets[1]<0 || ent.offsets[2]<0) PRINTHELP() + ent.offsets[0]=GetUserVarIndex(line, 2); + ent.offsets[1]=GetUserVarIndex(line, 3); + ent.offsets[2]=add_string(line.gettoken_str(1)); + if (ent.offsets[0]<0 || ent.offsets[1]<0) PRINTHELP() SCRIPT_MSG("GetDLLVersion: %s->%s,%s\n", line.gettoken_str(1),line.gettoken_str(2),line.gettoken_str(3)); return add_entry(&ent); @@ -4313,10 +4313,10 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) case TOK_GETFILETIME: #ifdef NSIS_SUPPORT_GETFILETIME ent.which=EW_GETFILETIME; - ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=GetUserVarIndex(line, 2); - ent.offsets[2]=GetUserVarIndex(line, 3); - if (ent.offsets[1]<0 || ent.offsets[2]<0) PRINTHELP() + ent.offsets[0]=GetUserVarIndex(line, 2); + ent.offsets[1]=GetUserVarIndex(line, 3); + ent.offsets[2]=add_string(line.gettoken_str(1)); + if (ent.offsets[0]<0 || ent.offsets[1]<0) PRINTHELP() SCRIPT_MSG("GetFileTime: %s->%s,%s\n", line.gettoken_str(1),line.gettoken_str(2),line.gettoken_str(3)); return add_entry(&ent); @@ -4604,10 +4604,10 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) #ifdef NSIS_SUPPORT_FINDFIRST case TOK_FINDFIRST: ent.which=EW_FINDFIRST; - ent.offsets[0]=add_string(line.gettoken_str(3)); // filespec - ent.offsets[1]=GetUserVarIndex(line, 2); // out - ent.offsets[2]=GetUserVarIndex(line, 1); // handleout - if (ent.offsets[1] < 0 || ent.offsets[2] < 0) PRINTHELP() + ent.offsets[0]=GetUserVarIndex(line, 2); // out + ent.offsets[1]=GetUserVarIndex(line, 1); // handleout + ent.offsets[2]=add_string(line.gettoken_str(3)); // filespec + if (ent.offsets[0] < 0 || ent.offsets[1] < 0) PRINTHELP() SCRIPT_MSG("FindFirst: spec=\"%s\" handle=%s output=%s\n",line.gettoken_str(3),line.gettoken_str(1),line.gettoken_str(2)); return add_entry(&ent); case TOK_FINDNEXT: @@ -4637,8 +4637,8 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) case TOK_FILEOPEN: { ent.which=EW_FOPEN; - ent.offsets[3]=GetUserVarIndex(line, 1); // file handle - ent.offsets[0]=add_string(line.gettoken_str(2)); + ent.offsets[0]=GetUserVarIndex(line, 1); // file handle + ent.offsets[3]=add_string(line.gettoken_str(2)); ent.offsets[1]=0; //openmode if (!stricmp(line.gettoken_str(3),"r")) { @@ -4705,8 +4705,8 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) int mode=line.gettoken_enum(3,"SET\0CUR\0END\0"); ent.which=EW_FSEEK; ent.offsets[0]=GetUserVarIndex(line, 1); - ent.offsets[1]=add_string(line.gettoken_str(2)); - ent.offsets[3]=GetUserVarIndex(line, 4); + ent.offsets[1]=GetUserVarIndex(line, 4); + ent.offsets[2]=add_string(line.gettoken_str(2)); if (mode<0 && !line.gettoken_str(3)[0]) { @@ -4715,8 +4715,8 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) } else modestr=line.gettoken_str(3); - if (mode<0 || ent.offsets[0] < 0 || (ent.offsets[3]<0 && line.gettoken_str(4)[0])) PRINTHELP() - ent.offsets[2]=tab[mode]; + if (mode<0 || ent.offsets[0] < 0 || (ent.offsets[1]<0 && line.gettoken_str(4)[0])) PRINTHELP() + ent.offsets[3]=tab[mode]; SCRIPT_MSG("FileSeek: fp=%s, ofs=%s, mode=%s, output=%s\n", line.gettoken_str(1), line.gettoken_str(2), @@ -4795,31 +4795,31 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) case TOK_SECTIONSETTEXT: ent.which=EW_SECTIONSET; ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=SECTION_FIELD_SET(name_ptr); - ent.offsets[2]=add_string(line.gettoken_str(2)); + ent.offsets[1]=add_string(line.gettoken_str(2)); + ent.offsets[2]=SECTION_FIELD_SET(name_ptr); SCRIPT_MSG("SectionSetText: %s->%s\n",line.gettoken_str(1),line.gettoken_str(2)); return add_entry(&ent); case TOK_SECTIONGETTEXT: ent.which=EW_SECTIONSET; ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=SECTION_FIELD_GET(name_ptr); - ent.offsets[2]=GetUserVarIndex(line, 2); - if (line.gettoken_str(2)[0] && ent.offsets[2]<0) PRINTHELP() + ent.offsets[1]=GetUserVarIndex(line, 2); + ent.offsets[2]=SECTION_FIELD_GET(name_ptr); + if (line.gettoken_str(2)[0] && ent.offsets[1]<0) PRINTHELP() SCRIPT_MSG("SectionGetText: %s->%s\n",line.gettoken_str(1),line.gettoken_str(2)); return add_entry(&ent); case TOK_SECTIONSETFLAGS: ent.which=EW_SECTIONSET; ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=SECTION_FIELD_SET(flags); - ent.offsets[2]=add_string(line.gettoken_str(2)); + ent.offsets[1]=add_string(line.gettoken_str(2)); + ent.offsets[2]=SECTION_FIELD_SET(flags); SCRIPT_MSG("SectionSetFlags: %s->%s\n",line.gettoken_str(1),line.gettoken_str(2)); return add_entry(&ent); case TOK_SECTIONGETFLAGS: ent.which=EW_SECTIONSET; ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=SECTION_FIELD_GET(flags); - ent.offsets[2]=GetUserVarIndex(line, 2); - if (line.gettoken_str(2)[0] && ent.offsets[2]<0) PRINTHELP() + ent.offsets[1]=GetUserVarIndex(line, 2); + ent.offsets[2]=SECTION_FIELD_GET(flags); + if (line.gettoken_str(2)[0] && ent.offsets[1]<0) PRINTHELP() SCRIPT_MSG("SectionGetFlags: %s->%s\n",line.gettoken_str(1),line.gettoken_str(2)); return add_entry(&ent); case TOK_INSTTYPESETTEXT: @@ -4840,31 +4840,31 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) case TOK_SECTIONSETINSTTYPES: ent.which=EW_SECTIONSET; ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=SECTION_FIELD_SET(install_types); - ent.offsets[2]=add_string(line.gettoken_str(2)); + ent.offsets[1]=add_string(line.gettoken_str(2)); + ent.offsets[2]=SECTION_FIELD_SET(install_types); SCRIPT_MSG("SectionSetInstTypes: %s->%s\n",line.gettoken_str(1),line.gettoken_str(2)); return add_entry(&ent); case TOK_SECTIONGETINSTTYPES: ent.which=EW_SECTIONSET; ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=SECTION_FIELD_GET(install_types); - ent.offsets[2]=GetUserVarIndex(line, 2); - if (line.gettoken_str(2)[0] && ent.offsets[2]<0) PRINTHELP() + ent.offsets[1]=GetUserVarIndex(line, 2); + ent.offsets[2]=SECTION_FIELD_GET(install_types); + if (line.gettoken_str(2)[0] && ent.offsets[1]<0) PRINTHELP() SCRIPT_MSG("SectionGetInstTypes: %s->%s\n",line.gettoken_str(1),line.gettoken_str(2)); return add_entry(&ent); case TOK_SECTIONSETSIZE: ent.which=EW_SECTIONSET; ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=SECTION_FIELD_SET(size_kb); - ent.offsets[2]=add_string(line.gettoken_str(2)); + ent.offsets[1]=add_string(line.gettoken_str(2)); + ent.offsets[2]=SECTION_FIELD_SET(size_kb); SCRIPT_MSG("SectionSetSize: %s->%s\n",line.gettoken_str(1),line.gettoken_str(2)); return add_entry(&ent); case TOK_SECTIONGETSIZE: ent.which=EW_SECTIONSET; ent.offsets[0]=add_string(line.gettoken_str(1)); - ent.offsets[1]=SECTION_FIELD_GET(size_kb); - ent.offsets[2]=GetUserVarIndex(line, 2); - if (line.gettoken_str(2)[0] && ent.offsets[2]<0) PRINTHELP() + ent.offsets[1]=GetUserVarIndex(line, 2); + ent.offsets[2]=SECTION_FIELD_GET(size_kb); + if (line.gettoken_str(2)[0] && ent.offsets[1]<0) PRINTHELP() SCRIPT_MSG("SectionGetSize: %s->%s\n",line.gettoken_str(1),line.gettoken_str(2)); return add_entry(&ent); case TOK_SETCURINSTTYPE: