Fixed argument size handling in _vsnprintf_shim, like DbgPrint_shim.

This commit is contained in:
gibbed 2013-10-16 19:04:23 -07:00
parent 46b42528fd
commit 16b0c936d4

View file

@ -441,7 +441,7 @@ SHIM_CALL _vsnprintf_shim(
} }
// get length // get length
int arg_size = 0; int arg_size = 4;
if (*end == 'h') { if (*end == 'h') {
++end; ++end;
@ -529,7 +529,7 @@ SHIM_CALL _vsnprintf_shim(
local[0] = '\0'; local[0] = '\0';
strncat(local, start, end + 1 - start); strncat(local, start, end + 1 - start);
XEASSERT(arg_size == 0); XEASSERT(arg_size == 4);
if (arg_extras == 0) { if (arg_extras == 0) {
uint32_t value = (uint32_t)SHIM_MEM_64(arg_ptr + (arg_index * 8)); // TODO: check if this is correct... uint32_t value = (uint32_t)SHIM_MEM_64(arg_ptr + (arg_index * 8)); // TODO: check if this is correct...
const char *pointer = (const char *)SHIM_MEM_ADDR(value); const char *pointer = (const char *)SHIM_MEM_ADDR(value);