about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-09-30 12:59:57 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-09-30 12:59:57 +0200
commit7f1ce6ebfd5c83a50d3a6224580b7acf98b7e3c8 (patch)
treedf9d0fff3344401af8b5e40f610c556f95e0c547 /src
parent4715ef2633534a0427a1e92006a09fde5c3faf44 (diff)
downloadbox64-7f1ce6ebfd5c83a50d3a6224580b7acf98b7e3c8.tar.gz
box64-7f1ce6ebfd5c83a50d3a6224580b7acf98b7e3c8.zip
[BOX32][WRAPPER] Manualy changed wctype_t to h in libc wrapping
Diffstat (limited to 'src')
-rw-r--r--src/wrapped32/generated/functions_list.txt2
-rw-r--r--src/wrapped32/generated/wrapper32.c4
-rw-r--r--src/wrapped32/generated/wrapper32.h2
-rwxr-xr-xsrc/wrapped32/wrappedlibc_private.h5
4 files changed, 7 insertions, 6 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt
index 6698e485..d28a2962 100644
--- a/src/wrapped32/generated/functions_list.txt
+++ b/src/wrapped32/generated/functions_list.txt
@@ -199,7 +199,6 @@
 #() LFLi -> LFLi
 #() LFpL -> LFpL
 #() LFpp -> LFpp
-#() LFpa -> LFpa
 #() LFXi -> LFXi
 #() LFXL -> LFXL
 #() pFEv -> pFEv
@@ -217,6 +216,7 @@
 #() pFpL -> pFpL
 #() pFpp -> pFpp
 #() pFXi -> pFXi
+#() hFpa -> hFpa
 #() SFip -> SFip
 #() SFpp -> SFpp
 #() tFip -> tFip
diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c
index 7bd47850..3ce09180 100644
--- a/src/wrapped32/generated/wrapper32.c
+++ b/src/wrapped32/generated/wrapper32.c
@@ -289,7 +289,6 @@ typedef uintptr_t (*LFEL_t)(x64emu_t*, uintptr_t);
 typedef uintptr_t (*LFLi_t)(uintptr_t, int32_t);
 typedef uintptr_t (*LFpL_t)(void*, uintptr_t);
 typedef uintptr_t (*LFpp_t)(void*, void*);
-typedef uintptr_t (*LFpa_t)(void*, void*);
 typedef uintptr_t (*LFXi_t)(void*, int32_t);
 typedef uintptr_t (*LFXL_t)(void*, uintptr_t);
 typedef void* (*pFEv_t)(x64emu_t*);
@@ -307,6 +306,7 @@ typedef void* (*pFpu_t)(void*, uint32_t);
 typedef void* (*pFpL_t)(void*, uintptr_t);
 typedef void* (*pFpp_t)(void*, void*);
 typedef void* (*pFXi_t)(void*, int32_t);
+typedef uintptr_t (*hFpa_t)(void*, void*);
 typedef void* (*SFip_t)(int32_t, void*);
 typedef void* (*SFpp_t)(void*, void*);
 typedef char* (*tFip_t)(int32_t, void*);
@@ -1379,7 +1379,6 @@ void LFEL_32(x64emu_t *emu, uintptr_t fcn) { LFEL_t fn = (LFEL_t)fcn; R_EAX = to
 void LFLi_32(x64emu_t *emu, uintptr_t fcn) { LFLi_t fn = (LFLi_t)fcn; R_EAX = to_ulong(fn(to_ulong(from_ptri(ulong_t, R_ESP + 4)), from_ptri(int32_t, R_ESP + 8))); }
 void LFpL_32(x64emu_t *emu, uintptr_t fcn) { LFpL_t fn = (LFpL_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); }
 void LFpp_32(x64emu_t *emu, uintptr_t fcn) { LFpp_t fn = (LFpp_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); }
-void LFpa_32(x64emu_t *emu, uintptr_t fcn) { LFpa_t fn = (LFpa_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8)))); }
 void LFXi_32(x64emu_t *emu, uintptr_t fcn) { LFXi_t fn = (LFXi_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8))); }
 void LFXL_32(x64emu_t *emu, uintptr_t fcn) { LFXL_t fn = (LFXL_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); }
 void pFEv_32(x64emu_t *emu, uintptr_t fcn) { pFEv_t fn = (pFEv_t)fcn; R_EAX = to_ptrv(fn(emu)); }
@@ -1397,6 +1396,7 @@ void pFpu_32(x64emu_t *emu, uintptr_t fcn) { pFpu_t fn = (pFpu_t)fcn; R_EAX = to
 void pFpL_32(x64emu_t *emu, uintptr_t fcn) { pFpL_t fn = (pFpL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); }
 void pFpp_32(x64emu_t *emu, uintptr_t fcn) { pFpp_t fn = (pFpp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); }
 void pFXi_32(x64emu_t *emu, uintptr_t fcn) { pFXi_t fn = (pFXi_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8))); }
+void hFpa_32(x64emu_t *emu, uintptr_t fcn) { hFpa_t fn = (hFpa_t)fcn; R_EAX = to_hash(fn(from_ptriv(R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8)))); }
 void SFip_32(x64emu_t *emu, uintptr_t fcn) { SFip_t fn = (SFip_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)))); }
 void SFpp_32(x64emu_t *emu, uintptr_t fcn) { SFpp_t fn = (SFpp_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)))); }
 void tFip_32(x64emu_t *emu, uintptr_t fcn) { tFip_t fn = (tFip_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); }
diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h
index 43a607e7..cb95d1d2 100644
--- a/src/wrapped32/generated/wrapper32.h
+++ b/src/wrapped32/generated/wrapper32.h
@@ -240,7 +240,6 @@ void LFEL_32(x64emu_t *emu, uintptr_t fnc);
 void LFLi_32(x64emu_t *emu, uintptr_t fnc);
 void LFpL_32(x64emu_t *emu, uintptr_t fnc);
 void LFpp_32(x64emu_t *emu, uintptr_t fnc);
-void LFpa_32(x64emu_t *emu, uintptr_t fnc);
 void LFXi_32(x64emu_t *emu, uintptr_t fnc);
 void LFXL_32(x64emu_t *emu, uintptr_t fnc);
 void pFEv_32(x64emu_t *emu, uintptr_t fnc);
@@ -258,6 +257,7 @@ void pFpu_32(x64emu_t *emu, uintptr_t fnc);
 void pFpL_32(x64emu_t *emu, uintptr_t fnc);
 void pFpp_32(x64emu_t *emu, uintptr_t fnc);
 void pFXi_32(x64emu_t *emu, uintptr_t fnc);
+void hFpa_32(x64emu_t *emu, uintptr_t fnc);
 void SFip_32(x64emu_t *emu, uintptr_t fnc);
 void SFpp_32(x64emu_t *emu, uintptr_t fnc);
 void tFip_32(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped32/wrappedlibc_private.h b/src/wrapped32/wrappedlibc_private.h
index c1cedbb1..1b2831e5 100755
--- a/src/wrapped32/wrappedlibc_private.h
+++ b/src/wrapped32/wrappedlibc_private.h
@@ -13,6 +13,7 @@
 // time_t is: L
 // socklen_t is u
 // struct sockaddr is fine, no wrap needed
+// wctype_t is h (used with locale_t)
 
 // a64l
 GO(abort, vFv)
@@ -2015,8 +2016,8 @@ GO(wctob, iFu)
 // __wctrans_l
 // wctrans_l    // Weak
 //GOW(wctype, uFp)
-GO(__wctype_l, LFpa)
-GOW(wctype_l, LFpa)
+GO(__wctype_l, hFpa)
+GOW(wctype_l, hFpa)
 //GO(wcwidth, iFu)
 GOW(wmemchr, pFpiL)
 GO(wmemcmp, iFppL)