summaryrefslogtreecommitdiff
path: root/src/qcommon
diff options
context:
space:
mode:
Diffstat (limited to 'src/qcommon')
-rw-r--r--src/qcommon/vm_x86.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/qcommon/vm_x86.c b/src/qcommon/vm_x86.c
index b6fc6a63..2056785d 100644
--- a/src/qcommon/vm_x86.c
+++ b/src/qcommon/vm_x86.c
@@ -413,23 +413,24 @@ static void DoSyscall(void)
if(vm_syscallNum < 0)
{
- int *data;
+ int *data, *ret;
#if idx64
int index;
intptr_t args[MAX_VMSYSCALL_ARGS];
#endif
data = (int *) (savedVM->dataBase + vm_programStack + 4);
+ ret = &vm_opStackBase[vm_opStackOfs + 1];
#if idx64
args[0] = ~vm_syscallNum;
for(index = 1; index < ARRAY_LEN(args); index++)
args[index] = data[index];
- vm_opStackBase[vm_opStackOfs + 1] = savedVM->systemCall(args);
+ *ret = savedVM->systemCall(args);
#else
data[0] = ~vm_syscallNum;
- vm_opStackBase[vm_opStackOfs + 1] = savedVM->systemCall((intptr_t *) data);
+ *ret = savedVM->systemCall((intptr_t *) data);
#endif
}
else