From 50b7da01dea4d600d1851c94ef903df1c72c0f3f Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Wed, 22 Jun 2011 19:15:47 +0200 Subject: [PATCH] msvcp90: Export already implemented basic_string private functions. --- dlls/msvcp90/msvcp90.spec | 48 ++++++++++++------------- dlls/msvcp90/string.c | 74 +++++++++++++++++++++++++-------------- 2 files changed, 72 insertions(+), 50 deletions(-) diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec index 92b64922bd..1f97a90532 100644 --- a/dlls/msvcp90/msvcp90.spec +++ b/dlls/msvcp90/msvcp90.spec @@ -2186,12 +2186,12 @@ @ stub -arch=win64 ?_Endwrite@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAA_NXZ @ stub -arch=win32 ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAE_NXZ @ stub -arch=win64 ?_Endwrite@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAA_NXZ -@ stub -arch=win32 ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z -@ stub -arch=win64 ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_K@Z +@ thiscall -arch=win32 ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z(ptr long) basic_string_char_eos +@ cdecl -arch=win64 ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_K@Z(ptr long) basic_string_char_eos @ stub -arch=win32 ?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXI@Z @ stub -arch=win64 ?_Eos@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAX_K@Z -@ stub -arch=win32 ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXI@Z -@ stub -arch=win64 ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_K@Z +@ thiscall -arch=win32 ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXI@Z(ptr long) basic_string_wchar_eos +@ cdecl -arch=win64 ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_K@Z(ptr long) basic_string_wchar_eos @ stub -arch=win32 ?_Exp@?$_Ctraits@M@std@@SAFPAMMF@Z @ stub -arch=win64 ?_Exp@?$_Ctraits@M@std@@SAFPEAMMF@Z @ stub -arch=win32 ?_Exp@?$_Ctraits@N@std@@SAFPANNF@Z @@ -2389,12 +2389,12 @@ @ stub -arch=win64 ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ @ stub -arch=win32 ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ @ stub -arch=win64 ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ -@ stub -arch=win32 ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z -@ stub -arch=win64 ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAA_N_K_N@Z +@ thiscall -arch=win32 ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z(ptr long long) basic_string_char_grow +@ cdecl -arch=win64 ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAA_N_K_N@Z(ptr long long) basic_string_char_grow @ stub -arch=win32 ?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAE_NI_N@Z @ stub -arch=win64 ?_Grow@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAA_N_K_N@Z -@ stub -arch=win32 ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAE_NI_N@Z -@ stub -arch=win64 ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAA_N_K_N@Z +@ thiscall -arch=win32 ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAE_NI_N@Z(ptr long long) basic_string_wchar_grow +@ cdecl -arch=win64 ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAA_N_K_N@Z(ptr long long) basic_string_wchar_grow @ stub -arch=win32 ?_Hexdig@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@ABEHDDDD@Z @ stub -arch=win64 ?_Hexdig@?$num_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@AEBAHDDDD@Z @ stub -arch=win32 ?_Hexdig@?$num_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@ABEHGGGG@Z @@ -2549,12 +2549,12 @@ @ stub -arch=win64 ?_Initcvt@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAV?$codecvt@GDH@2@@Z @ stub -arch=win32 ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$codecvt@_WDH@2@@Z @ stub -arch=win64 ?_Initcvt@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$codecvt@_WDH@2@@Z -@ stub -arch=win32 ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z -@ stub -arch=win64 ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAA_NPEBD@Z +@ thiscall -arch=win32 ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z(ptr str) basic_string_char_inside +@ cdecl -arch=win64 ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAA_NPEBD@Z(ptr str) basic_string_char_inside @ stub -arch=win32 ?_Inside@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAE_NPBG@Z @ stub -arch=win64 ?_Inside@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAA_NPEBG@Z -@ stub -arch=win32 ?_Inside@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAE_NPB_W@Z -@ stub -arch=win64 ?_Inside@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAA_NPEB_W@Z +@ thiscall -arch=win32 ?_Inside@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAE_NPB_W@Z(ptr ptr) basic_string_wchar_inside +@ cdecl -arch=win64 ?_Inside@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAA_NPEB_W@Z(ptr ptr) basic_string_wchar_inside @ cdecl -arch=win32 ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z(ptr) ios_base_Ios_base_dtor @ cdecl -arch=win64 ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z(ptr) ios_base_Ios_base_dtor @ stub -arch=win32 ?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z @@ -2643,18 +2643,18 @@ @ cdecl -arch=win64 ?_Mutex_ctor@_Mutex@std@@CAXPEAV12@@Z(ptr) mutex_mutex_ctor @ cdecl -arch=win32 ?_Mutex_dtor@_Mutex@std@@CAXPAV12@@Z(ptr) mutex_mutex_dtor @ cdecl -arch=win64 ?_Mutex_dtor@_Mutex@std@@CAXPEAV12@@Z(ptr) mutex_mutex_dtor -@ stub -arch=win32 ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ -@ stub -arch=win64 ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAPEADXZ -@ stub -arch=win32 ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ -@ stub -arch=win64 ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEBAPEBDXZ +@ thiscall -arch=win32 ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ(ptr) basic_string_char_ptr +@ cdecl -arch=win64 ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAPEADXZ(ptr) basic_string_char_ptr +@ thiscall -arch=win32 ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ(ptr) basic_string_char_const_ptr +@ cdecl -arch=win64 ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEBAPEBDXZ(ptr) basic_string_char_const_ptr @ stub -arch=win32 ?_Myptr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEPAGXZ @ stub -arch=win64 ?_Myptr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAPEAGXZ @ stub -arch=win32 ?_Myptr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IBEPBGXZ @ stub -arch=win64 ?_Myptr@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEBAPEBGXZ -@ stub -arch=win32 ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEPA_WXZ -@ stub -arch=win64 ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAPEA_WXZ -@ stub -arch=win32 ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IBEPB_WXZ -@ stub -arch=win64 ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEBAPEB_WXZ +@ thiscall -arch=win32 ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEPA_WXZ(ptr) basic_string_wchar_ptr +@ cdecl -arch=win64 ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAPEA_WXZ(ptr) basic_string_wchar_ptr +@ thiscall -arch=win32 ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IBEPB_WXZ(ptr) basic_string_wchar_const_ptr +@ cdecl -arch=win64 ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEBAPEB_WXZ(ptr) basic_string_wchar_const_ptr @ stub ?_Nanv@?$_Ctraits@M@std@@SAMM@Z @ stub ?_Nanv@?$_Ctraits@N@std@@SANN@Z @ stub ?_Nanv@?$_Ctraits@O@std@@SAOO@Z @@ -2808,12 +2808,12 @@ @ stub -arch=win64 ?_Tidy@?$_Mpunct@G@std@@AEAAXXZ @ stub -arch=win32 ?_Tidy@?$_Mpunct@_W@std@@AAEXXZ @ stub -arch=win64 ?_Tidy@?$_Mpunct@_W@std@@AEAAXXZ -@ stub -arch=win32 ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z -@ stub -arch=win64 ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_N_K@Z +@ thiscall -arch=win32 ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z(ptr long long) basic_string_char_tidy +@ cdecl -arch=win64 ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_N_K@Z(ptr long long) basic_string_char_tidy @ stub -arch=win32 ?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEX_NI@Z @ stub -arch=win64 ?_Tidy@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IEAAX_N_K@Z -@ stub -arch=win32 ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEX_NI@Z -@ stub -arch=win64 ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_N_K@Z +@ thiscall -arch=win32 ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEX_NI@Z(ptr long long) basic_string_wchar_tidy +@ cdecl -arch=win64 ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_N_K@Z(ptr long long) basic_string_wchar_tidy @ stub -arch=win32 ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXXZ @ stub -arch=win64 ?_Tidy@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAXXZ @ stub -arch=win32 ?_Tidy@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@IAEXXZ diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c index 5d2b5ee5a5..f4d3ecb7c3 100644 --- a/dlls/msvcp90/string.c +++ b/dlls/msvcp90/string.c @@ -500,24 +500,30 @@ void CDECL MSVCP__String_base_Xinvarg(void) /* ?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2_KB */ const MSVCP_size_t MSVCP_basic_string_char_npos = -1; -/* Internal: basic_string_char_ptr - return pointer to stored string */ -static char* basic_string_char_ptr(basic_string_char *this) +/* ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ */ +/* ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAPEADXZ */ +DEFINE_THISCALL_WRAPPER(basic_string_char_ptr, 4) +char* __thiscall basic_string_char_ptr(basic_string_char *this) { if(this->res == BUF_SIZE_CHAR-1) return this->data.buf; return this->data.ptr; } -/* Internal: basic_string_char_const_ptr - returns const pointer to stored string */ -static const char* basic_string_char_const_ptr(const basic_string_char *this) +/* ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ */ +/* ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEBAPEBDXZ */ +DEFINE_THISCALL_WRAPPER(basic_string_char_const_ptr, 4) +const char* __thiscall basic_string_char_const_ptr(const basic_string_char *this) { if(this->res == BUF_SIZE_CHAR-1) return this->data.buf; return this->data.ptr; } -/* Internal: basic_string_char_eos - sets string length, puts '\0' on the end */ -static void basic_string_char_eos(basic_string_char *this, MSVCP_size_t len) +/* ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z */ +/* ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_K@Z */ +DEFINE_THISCALL_WRAPPER(basic_string_char_eos, 8) +void __thiscall basic_string_char_eos(basic_string_char *this, MSVCP_size_t len) { static const char nullbyte = '\0'; @@ -525,8 +531,10 @@ static void basic_string_char_eos(basic_string_char *this, MSVCP_size_t len) MSVCP_char_traits_char_assign(basic_string_char_ptr(this)+len, &nullbyte); } -/* Internal: basic_string_char_inside - checks if given pointer points inside stored string */ -static MSVCP_bool basic_string_char_inside( +/* ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z */ +/* ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAA_NPEBD@Z */ +DEFINE_THISCALL_WRAPPER(basic_string_char_inside, 8) +MSVCP_bool __thiscall basic_string_char_inside( basic_string_char *this, const char *ptr) { char *cstr = basic_string_char_ptr(this); @@ -534,9 +542,10 @@ static MSVCP_bool basic_string_char_inside( return (ptr=cstr+this->size) ? FALSE : TRUE; } -/* Internal: basic_string_char_tidy - initialize basic_string buffer, deallocates data */ -/* Caution: new_size have to be smaller than BUF_SIZE_CHAR */ -static void basic_string_char_tidy(basic_string_char *this, +/* ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z */ +/* ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAAX_N_K@Z */ +DEFINE_THISCALL_WRAPPER(basic_string_char_tidy, 12) +void __thiscall basic_string_char_tidy(basic_string_char *this, MSVCP_bool built, MSVCP_size_t new_size) { if(built && BUF_SIZE_CHAR<=this->res) { @@ -551,8 +560,10 @@ static void basic_string_char_tidy(basic_string_char *this, basic_string_char_eos(this, new_size); } -/* Internal: basic_string_char_grow - changes size of internal buffer */ -static MSVCP_bool basic_string_char_grow( +/* ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z */ +/* ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IEAA_N_K_N@Z */ +DEFINE_THISCALL_WRAPPER(basic_string_char_grow, 12) +MSVCP_bool __thiscall basic_string_char_grow( basic_string_char *this, MSVCP_size_t new_size, MSVCP_bool trim) { if(this->res < new_size) { @@ -1320,24 +1331,30 @@ void __thiscall MSVCP_basic_string_char_clear(basic_string_char *this) /* ?npos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@2_KB */ const MSVCP_size_t MSVCP_basic_string_wchar_npos = -1; -/* Internal: basic_string_wchar_ptr - return pointer to stored string */ -static wchar_t* basic_string_wchar_ptr(basic_string_wchar *this) +/* ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEPA_WXZ */ +/* ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAPEA_WXZ */ +DEFINE_THISCALL_WRAPPER(basic_string_wchar_ptr, 4) +wchar_t* __thiscall basic_string_wchar_ptr(basic_string_wchar *this) { if(this->res == BUF_SIZE_WCHAR-1) return this->data.buf; return this->data.ptr; } -/* Internal: basic_string_wchar_const_ptr - returns const pointer to stored string */ -static const wchar_t* basic_string_wchar_const_ptr(const basic_string_wchar *this) +/* ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IBEPB_WXZ */ +/* ?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEBAPEB_WXZ */ +DEFINE_THISCALL_WRAPPER(basic_string_wchar_const_ptr, 4) +const wchar_t* __thiscall basic_string_wchar_const_ptr(const basic_string_wchar *this) { if(this->res == BUF_SIZE_WCHAR-1) return this->data.buf; return this->data.ptr; } -/* Internal: basic_string_wchar_eos - sets string length, puts '\0' on the end */ -static void basic_string_wchar_eos(basic_string_wchar *this, MSVCP_size_t len) +/* ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEXI@Z */ +/* ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_K@Z */ +DEFINE_THISCALL_WRAPPER(basic_string_wchar_eos, 8) +void __thiscall basic_string_wchar_eos(basic_string_wchar *this, MSVCP_size_t len) { static const wchar_t nullbyte_w = '\0'; @@ -1345,8 +1362,10 @@ static void basic_string_wchar_eos(basic_string_wchar *this, MSVCP_size_t len) MSVCP_char_traits_wchar_assign(basic_string_wchar_ptr(this)+len, &nullbyte_w); } -/* Internal: basic_string_char_inside - checks if given pointer points inside stored string */ -static MSVCP_bool basic_string_wchar_inside( +/* ?_Inside@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAE_NPB_W@Z */ +/* ?_Inside@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAA_NPEB_W@Z */ +DEFINE_THISCALL_WRAPPER(basic_string_wchar_inside, 8) +MSVCP_bool __thiscall basic_string_wchar_inside( basic_string_wchar *this, const wchar_t *ptr) { wchar_t *cstr = basic_string_wchar_ptr(this); @@ -1354,9 +1373,10 @@ static MSVCP_bool basic_string_wchar_inside( return (ptr=cstr+this->size) ? FALSE : TRUE; } -/* Internal: basic_string_char_tidy - initialize basic_string buffer, deallocates data */ -/* Caution: new_size have to be smaller than BUF_SIZE_WCHAR */ -static void basic_string_wchar_tidy(basic_string_wchar *this, +/* ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEX_NI@Z */ +/* ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAAX_N_K@Z */ +DEFINE_THISCALL_WRAPPER(basic_string_wchar_tidy, 12) +void __thiscall basic_string_wchar_tidy(basic_string_wchar *this, MSVCP_bool built, MSVCP_size_t new_size) { if(built && BUF_SIZE_WCHAR<=this->res) { @@ -1371,8 +1391,10 @@ static void basic_string_wchar_tidy(basic_string_wchar *this, basic_string_wchar_eos(this, new_size); } -/* Internal: basic_string_wchar_grow - changes size of internal buffer */ -static MSVCP_bool basic_string_wchar_grow( +/* ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAE_NI_N@Z */ +/* ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IEAA_N_K_N@Z */ +DEFINE_THISCALL_WRAPPER(basic_string_wchar_grow, 12) +MSVCP_bool __thiscall basic_string_wchar_grow( basic_string_wchar *this, MSVCP_size_t new_size, MSVCP_bool trim) { if(this->res < new_size) {