On Tue Apr 1 14:55:43 2025 +0000, Piotr Caban wrote:
static codecvt_char16 * (__thiscall * p_codecvt_char16_ctor)(codecvt_char16 *this); static codecvt_char16 * (__thiscall * p_codecvt_char16_ctor_refs)(codecvt_char16 *this, size_t refs); static codecvt_char16 * (__thiscall * p_codecvt_char16_ctor_mode)(codecvt_char16 *this, void *locinfo, ULONG max_code, codecvt_convert_mode mode, size_t refs);
Why are you changing last argument type to `unsigned int`? It doesn't match with mangled function name. There are similar changes that needs to be undone in implementation.
[test.patch](/uploads/9a6536295ba63cb61806540eb24351a5/test.patch)
The attached test (on top of my patches) shows that refs in the structure at least is not size_t, I was testing something like that initially. I should probably get the constructor arguments back but change refs in the structure in the implementation? It doesn't affect much because the structure is aligned anyway.