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[] = const HLEFunction UtilsForUser[] =
{ {
{0x91E4F6A7, WrapU_V<sceKernelLibcClock>, "sceKernelLibcClock"}, {0x91E4F6A7, WrapU_V<sceKernelLibcClock>, "sceKernelLibcClock"},
{0x27CC57F0, sceKernelLibcTime, "sceKernelLibcTime"}, {0x27CC57F0, WrapU_U<sceKernelLibcTime>, "sceKernelLibcTime"},
{0x71EC4271, sceKernelLibcGettimeofday, "sceKernelLibcGettimeofday"}, {0x71EC4271, sceKernelLibcGettimeofday, "sceKernelLibcGettimeofday"},
{0xBFA98062, WrapV_UI<sceKernelDcacheInvalidateRange>, "sceKernelDcacheInvalidateRange"}, {0xBFA98062, WrapV_UI<sceKernelDcacheInvalidateRange>, "sceKernelDcacheInvalidateRange"},
{0xC8186A58, 0, "sceKernelUtilsMd5Digest"}, {0xC8186A58, 0, "sceKernelUtilsMd5Digest"},

View file

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

View file

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