msvcp90: Added basic_string<char>::erase implementation.
This commit is contained in:
parent
50c99f0018
commit
935e0f53a1
|
@ -3774,8 +3774,8 @@
|
|||
@ stub -arch=win64 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0@Z
|
||||
@ stub -arch=win32 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
|
||||
@ stub -arch=win64 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
|
||||
@ stub -arch=win32 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z
|
||||
@ stub -arch=win64 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0@Z
|
||||
@ cdecl -arch=win32 -i386 -norelay ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z(long long) __thiscall_MSVCP_basic_string_char_erase
|
||||
@ cdecl -arch=win64 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0@Z(ptr long long) MSVCP_basic_string_char_erase
|
||||
@ stub -arch=win32 ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z
|
||||
@ stub -arch=win64 ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAA?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@0@Z
|
||||
@ stub -arch=win32 ?erase@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AV?$_String_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@V?$_String_const_iterator@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z
|
||||
|
|
|
@ -504,6 +504,32 @@ static void basic_string_char_tidy(basic_string_char *this,
|
|||
basic_string_char_eos(this, new_size);
|
||||
}
|
||||
|
||||
/* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z */
|
||||
/* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0@Z */
|
||||
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_erase, 12)
|
||||
basic_string_char* __stdcall MSVCP_basic_string_char_erase(
|
||||
basic_string_char *this, size_t pos, size_t len)
|
||||
{
|
||||
TRACE("%p %d %d\n", this, pos, len);
|
||||
|
||||
if(pos > this->size) {
|
||||
FIXME("Throw exception (_Xran)\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if(len > this->size-pos)
|
||||
len = this->size-pos;
|
||||
|
||||
if(len) {
|
||||
MSVCP_char_traits_char__Move_s(basic_string_char_ptr(this)+pos,
|
||||
this->res-pos, basic_string_char_ptr(this)+pos+len,
|
||||
this->size-pos-len);
|
||||
basic_string_char_eos(this, this->size-len);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ */
|
||||
/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ */
|
||||
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor, 4)
|
||||
|
|
Loading…
Reference in New Issue