Fix sceKernelLibcTime() when time_t is 64 bit.

This commit is contained in:
Unknown W. Brackets 2013-01-01 21:27:18 -08:00
parent f63a9d1d1f
commit 62b8b9af75
3 changed files with 12 additions and 9 deletions

View File

@ -75,7 +75,7 @@ const HLEFunction FakeSysCalls[] =
const HLEFunction UtilsForUser[] =
{
{0x91E4F6A7, WrapU_V<sceKernelLibcClock>, "sceKernelLibcClock"},
{0x27CC57F0, sceKernelLibcTime, "sceKernelLibcTime"},
{0x27CC57F0, WrapU_U<sceKernelLibcTime>, "sceKernelLibcTime"},
{0x71EC4271, sceKernelLibcGettimeofday, "sceKernelLibcGettimeofday"},
{0xBFA98062, WrapV_UI<sceKernelDcacheInvalidateRange>, "sceKernelDcacheInvalidateRange"},
{0xC8186A58, 0, "sceKernelUtilsMd5Digest"},

View File

@ -112,14 +112,17 @@ u32 sceKernelLibcClock()
return retVal;
}
void sceKernelLibcTime()
u32 sceKernelLibcTime(u32 outPtr)
{
time_t *t = 0;
if (PARAM(0))
t = (time_t*)Memory::GetPointer(PARAM(0));
u32 retVal = (u32)time(t);
DEBUG_LOG(HLE,"%i = sceKernelLibcTime()",retVal);
RETURN(retVal);
time_t t;
time(&t);
DEBUG_LOG(HLE, "%i = sceKernelLibcTime(%08X)", (u32) t, outPtr);
if (Memory::IsValidAddress(outPtr))
Memory::Write_U32((u32) t, outPtr);
return (u32) t;
}
void sceKernelLibcGettimeofday()

View File

@ -18,7 +18,7 @@
#pragma once
void sceKernelLibcGettimeofday();
void sceKernelLibcTime();
u32 sceKernelLibcTime(u32 outPtr);
void sceKernelUSec2SysClock();
void sceKernelGetSystemTime();
void sceKernelGetSystemTimeLow();