From 3eb16fb7bd92588ee3d364a1cdc9912ccda247f3 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Thu, 23 Mar 2023 10:36:39 +0100 Subject: [PATCH] Wrapped __isoc99_swscanf libc function --- src/wrapped/generated/functions_list.txt | 1 + src/wrapped/generated/wrappedlibctypes.h | 1 + src/wrapped/wrappedlibc.c | 8 ++++++++ src/wrapped/wrappedlibc_private.h | 4 ++-- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index baae6186..df29e7aa 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -3037,6 +3037,7 @@ wrappedlibc: - iFppV: - __isoc99_fscanf - __isoc99_sscanf + - __isoc99_swscanf - fscanf - sscanf - swscanf diff --git a/src/wrapped/generated/wrappedlibctypes.h b/src/wrapped/generated/wrappedlibctypes.h index bcee126a..b0f5b511 100644 --- a/src/wrapped/generated/wrappedlibctypes.h +++ b/src/wrapped/generated/wrappedlibctypes.h @@ -146,6 +146,7 @@ typedef int32_t (*iFpLiLppp_t)(void*, uintptr_t, int32_t, uintptr_t, void*, void GO(_IO_vfscanf, iFppp_t) \ GO(__isoc99_fscanf, iFppV_t) \ GO(__isoc99_sscanf, iFppV_t) \ + GO(__isoc99_swscanf, iFppV_t) \ GO(fscanf, iFppV_t) \ GO(sscanf, iFppV_t) \ GO(swscanf, iFppV_t) \ diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index 8a2651e4..c6fd14dd 100755 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -986,6 +986,14 @@ EXPORT int my___isoc99_sscanf(x86emu_t* emu, void* stream, void* fmt, void* b) return ((iFppp_t)f)(stream, fmt, VARARGS); } +EXPORT int my___isoc99_swscanf(x86emu_t* emu, void* stream, void* fmt, void* b) +{ + (void)b; + void* f = swscanf; + PREPARE_VALIST; + + return ((iFppp_t)f)(stream, fmt, VARARGS); +} #endif EXPORT int my_vsnprintf(x86emu_t* emu, void* buff, uint32_t s, void * fmt, void * b, va_list V) { diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h index 684b7ffa..de955617 100755 --- a/src/wrapped/wrappedlibc_private.h +++ b/src/wrapped/wrappedlibc_private.h @@ -902,7 +902,7 @@ GOM(__isoc99_fscanf, iFEppV) //%% // __isoc99_fwscanf // __isoc99_scanf GOM(__isoc99_sscanf, iFEppV) //%% -// __isoc99_swscanf +GOM(__isoc99_swscanf, iFEppV) //%% GOM(__isoc99_vfscanf, iFEppp) //%% // __isoc99_vfwscanf // __isoc99_vscanf @@ -915,7 +915,7 @@ GO2(__isoc99_fscanf, iFppV, __isoc99_vfscanf) // __isoc99_fwscanf // __isoc99_scanf GO2(__isoc99_sscanf, iFppV, __isoc99_vsscanf) -// __isoc99_swscanf +GO2(__isoc99_swscanf, iFppV, __isoc99_vswscanf) GO(__isoc99_vfscanf, iFppp) // __isoc99_vfwscanf // __isoc99_vscanf