fixed build warnings

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4251 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2005-09-09 09:18:45 +00:00
parent 82ec0a3db2
commit 4647e56e67
2 changed files with 12 additions and 8 deletions

View file

@ -632,16 +632,20 @@ SystemProc *PrepareProc(BOOL NeedForCall)
{
// Use direct system proc address
int addr;
proc->Dll = (HANDLE) myatoi(proc->DllName);
if ((proc->Dll = addr = (HANDLE) myatoi(proc->DllName)) == 0)
if (proc->Dll == 0)
{
proc->ProcResult = PR_ERROR;
break;
}
addr = (int) proc->Dll;
// fake-real parameter: for COM interfaces first param is Interface Pointer
proc->Params[1].Output = IOT_NONE;
proc->Params[1].Input = AllocStr(proc->DllName);
proc->Params[1].Input = (int) AllocStr(proc->DllName);
proc->Params[1].Size = 1;
proc->Params[1].Type = PAT_INT;
proc->Params[1].Option = 0;
@ -650,7 +654,7 @@ SystemProc *PrepareProc(BOOL NeedForCall)
addr = *((int *)addr);
// now addr contains the pointer to first item at VTABLE
// add the index of proc
addr = addr + (myatoi(proc->ProcName)*4);
addr = addr + (int)(myatoi(proc->ProcName)*4);
proc->Proc = *((HANDLE*)addr);
}
break;
@ -931,7 +935,7 @@ SystemProc __declspec(naked) *CallProc(SystemProc *proc)
z1 = (int) proc->Proc;
// Save proc
proc->Clone = LastProc;
proc->Clone = (SystemProc *) LastProc;
_asm
{
mov eax, proc
@ -1226,9 +1230,9 @@ HANDLE CreateCallback(SystemProc *cbproc)
cbproc->Options |= POPT_PERMANENT;
mem = (char *) (cbproc->Proc = VirtualAlloc(NULL, 10, MEM_COMMIT, PAGE_EXECUTE_READWRITE));
*(mem++) = 0xB8; // Mov eax, const
*(mem++) = (char) 0xB8; // Mov eax, const
*(((int *)mem)++) = (int) cbproc;
*(mem++) = 0xe9; // Jmp relative
*(mem++) = (char) 0xe9; // Jmp relative
*((int *)mem) = (int) RealCallBack;
*((int *)mem) -= ((int) mem) + 4;
}
@ -1339,7 +1343,7 @@ BOOL WINAPI _DllMainCRTStartup(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lp
LastError = 0;
LastProc = NULL;
CallbackIndex = 0;
retexpr[0] = 0xC2;
retexpr[0] = (char) 0xC2;
retexpr[2] = 0x00;
}