about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorKrzysztof Aleksander Pyrkosz <49622294+kpyrkosz@users.noreply.github.com>2025-04-05 14:10:17 +0000
committerGitHub <noreply@github.com>2025-04-05 16:10:17 +0200
commit5fc3188bc8070bf15d13c3fd557a6ac9b374c42b (patch)
tree44efb03d4cab697abeec9847dc40ebec6111b0fb /src
parentf4f868831a920ae5b03688810af5f7e599d5a820 (diff)
downloadbox64-5fc3188bc8070bf15d13c3fd557a6ac9b374c42b.tar.gz
box64-5fc3188bc8070bf15d13c3fd557a6ac9b374c42b.zip
Add __localtime64 and __time64 in box32 mode (#2502)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/wrapped32/wrappedlibc.c7
-rwxr-xr-xsrc/wrapped32/wrappedlibc_private.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/wrapped32/wrappedlibc.c b/src/wrapped32/wrappedlibc.c
index 2065517e..c4b9f684 100755
--- a/src/wrapped32/wrappedlibc.c
+++ b/src/wrapped32/wrappedlibc.c
@@ -2140,6 +2140,13 @@ EXPORT int my32_setrlimit(x64emu_t* emu, int what, uint32_t* pr)
     return setrlimit64(what, &l);
 }
 
+EXPORT void* my32___localtime64(x64emu_t* emu, void* t)
+{
+    static struct tm l = {};
+    l = *localtime(t);
+    return &l;
+}
+
 EXPORT void* my32_localtime(x64emu_t* emu, void* t)
 {
     struct_L_t t_ = {0};
diff --git a/src/wrapped32/wrappedlibc_private.h b/src/wrapped32/wrappedlibc_private.h
index c6236a5f..44409329 100755
--- a/src/wrapped32/wrappedlibc_private.h
+++ b/src/wrapped32/wrappedlibc_private.h
@@ -1057,6 +1057,7 @@ GO(llistxattr, iEppL)
 // loc2 // type B
 GOWM(localeconv, pEEv)
 GOM(localtime, pEEp)
+GOM(__localtime64, pEEp)
 GOWM(localtime_r, pEEpp)
 GO(lockf, iEiil)
 GO(lockf64, iEiiI)
@@ -1835,6 +1836,7 @@ GO(tempnam, pEpp)
 GOW(textdomain, tEp)
 // tfind    // Weak
 GO(time, LEBL_)
+GO2(__time64, IEp, time)
 GOM(timegm, lEEriiiiiiiiilt_)   //%%
 // timelocal    // Weak
 GO(timerfd_create, iEii)