Piotr Caban : msvcp90: Fix off by one issues in basic_string functions operating on iterators.

Alexandre Julliard julliard at winehq.org
Mon Jul 9 14:56:36 CDT 2012


Module: wine
Branch: master
Commit: 4c73236d8631dfc2a3f60f27697ff317fd93d73d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4c73236d8631dfc2a3f60f27697ff317fd93d73d

Author: Piotr Caban <piotr at 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 at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@IAEXIID at 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 at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at 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 at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at 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 at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@IAEXII_W at 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 at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at 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 at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at I_W@Z */




More information about the wine-cvs mailing list