Piotr Caban : msvcp90: Fix off by one issues in basic_string functions operating on iterators.
Module: wine Branch: master Commit: 4c73236d8631dfc2a3f60f27697ff317fd93d73d URL: http://source.winehq.org/git/wine.git/?a=commit;h=4c73236d8631dfc2a3f60f2769... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Thu Jul 5 11:51:06 2012 +0200 msvcp90: Fix off by one issues in basic_string functions operating on iterators. --- dlls/msvcp90/string.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c index f4811cd..d8bc6f3 100644 --- a/dlls/msvcp90/string.c +++ b/dlls/msvcp90/string.c @@ -841,7 +841,7 @@ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_iter, 20) basic_string_char* __thiscall MSVCP_basic_string_char_assign_iter(basic_string_char *this, String_iterator_char beg, String_iterator_char end) { - return MSVCP_basic_string_char_assign_ptr_ptr(this, beg.pos, end.pos+1); + return MSVCP_basic_string_char_assign_ptr_ptr(this, beg.pos, end.pos); } /* ?_Chassign@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@IAEXIID(a)Z */ @@ -1060,7 +1060,7 @@ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_iter, 20) basic_string_char* __thiscall MSVCP_basic_string_char_ctor_iter(basic_string_char *this, String_iterator_char beg, String_iterator_char end) { - return MSVCP_basic_string_char_ctor_cstr_len(this, beg.pos, end.pos-beg.pos+1); + return MSVCP_basic_string_char_ctor_cstr_len(this, beg.pos, end.pos-beg.pos); } /* ??1?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)XZ */ @@ -1224,7 +1224,7 @@ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_append_iter, 20) basic_string_char* __thiscall MSVCP_basic_string_char_append_iter( basic_string_char *this, String_iterator_char beg, String_iterator_char end) { - return MSVCP_basic_string_char_append_cstr_len(this, beg.pos, end.pos-beg.pos+1); + return MSVCP_basic_string_char_append_cstr_len(this, beg.pos, end.pos-beg.pos); } /* ?append@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEAAV12(a)ID@Z */ @@ -2680,7 +2680,7 @@ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_assign_iter, 20) basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_iter(basic_string_wchar *this, String_iterator_wchar beg, String_iterator_wchar end) { - return MSVCP_basic_string_wchar_assign_ptr_ptr(this, beg.pos, end.pos+1); + return MSVCP_basic_string_wchar_assign_ptr_ptr(this, beg.pos, end.pos); } /* ?_Chassign@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@IAEXII_W(a)Z */ @@ -2939,7 +2939,7 @@ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_iter, 20) basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_iter(basic_string_wchar *this, String_iterator_wchar beg, String_iterator_wchar end) { - return MSVCP_basic_string_wchar_ctor_cstr_len(this, beg.pos, end.pos-beg.pos+1); + return MSVCP_basic_string_wchar_ctor_cstr_len(this, beg.pos, end.pos-beg.pos); } /* ??1?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)XZ */ @@ -3133,7 +3133,7 @@ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_append_iter, 20) basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_iter( basic_string_wchar *this, String_iterator_wchar beg, String_iterator_wchar end) { - return MSVCP_basic_string_wchar_append_cstr_len(this, beg.pos, end.pos-beg.pos+1); + return MSVCP_basic_string_wchar_append_cstr_len(this, beg.pos, end.pos-beg.pos); } /* ?append@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAEAAV12(a)I_W@Z */
participants (1)
-
Alexandre Julliard