about summary refs log tree commit diff stats
path: root/src/wrapped32/wrappedlibc.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-12-13 16:42:21 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-12-13 16:42:21 +0100
commit5bf154195d7be2db877f55a3ee541c9a64ebe4e9 (patch)
tree75a66292a44a45d703ae0353e9f5f795f57134e8 /src/wrapped32/wrappedlibc.c
parent0239305f69dbafc701eb8f9ec63723dc70abf9b5 (diff)
downloadbox64-5bf154195d7be2db877f55a3ee541c9a64ebe4e9.tar.gz
box64-5bf154195d7be2db877f55a3ee541c9a64ebe4e9.zip
[BOX32][WRAPPER] Added a few more 32bits wrapped libc functions
Diffstat (limited to 'src/wrapped32/wrappedlibc.c')
-rwxr-xr-xsrc/wrapped32/wrappedlibc.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/wrapped32/wrappedlibc.c b/src/wrapped32/wrappedlibc.c
index 1456d4db..2aa9382a 100755
--- a/src/wrapped32/wrappedlibc.c
+++ b/src/wrapped32/wrappedlibc.c
@@ -728,6 +728,11 @@ EXPORT int my32_vsyslog(x64emu_t* emu, int priority, void* fmt, void* b) {
     PREPARE_VALIST_32;
     return vsyslog(priority, (const char*)fmt, VARARGS_32);
 }
+EXPORT int my32_syslog(x64emu_t* emu, int priority, void* fmt, void* b) {
+    myStackAlign32((const char*)fmt, b, emu->scratch);
+    PREPARE_VALIST_32;
+    return vsyslog(priority, (const char*)fmt, VARARGS_32);
+}
 EXPORT int my32___vsyslog_chk(x64emu_t* emu, int priority, int flag, void* fmt, void* b) {
     myStackAlign32((const char*)fmt, b, emu->scratch);
     PREPARE_VALIST_32;
@@ -2263,6 +2268,18 @@ EXPORT int my32_getgrnam_r(x64emu_t* emu, const char* name, struct i386_group *g
     return ret;
 }
 
+EXPORT void* my32_getgrnam(x64emu_t* emu, void* name)
+{
+    static struct i386_group ret;
+    struct group *grp = getgrnam(name);
+    if(!grp) return NULL;
+    ret.gr_name = to_ptrv(grp->gr_name);
+    ret.gr_passwd = to_ptrv(grp->gr_passwd);
+    ret.gr_gid = grp->gr_gid;
+    ret.gr_mem = to_ptrv(grp->gr_mem);
+    return &ret;
+}
+
 EXPORT int my32_getgrgid_r(x64emu_t* emu, gid_t gid, struct i386_group *grp, char *buf, size_t buflen, ptr_t* result)
 {
     struct group _result = {0};