Wine-Commits
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
February 2015
- 2 participants
- 411 discussions
Piotr Caban : msvcp71: Added basic_string<char>::insert(iterator, char*, char*) implementation.
by Alexandre Julliard Feb. 2, 2015
by Alexandre Julliard Feb. 2, 2015
Feb. 2, 2015
Module: wine
Branch: master
Commit: ae372f53f79a0cc22e88e63920fa83e9df5cd1e3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ae372f53f79a0cc22e88e6392…
Author: Piotr Caban <piotr(a)codeweavers.com>
Date: Sat Jan 31 16:22:26 2015 +0100
msvcp71: Added basic_string<char>::insert(iterator, char*, char*) implementation.
---
dlls/msvcp71/msvcp71.spec | 4 ++--
dlls/msvcp90/string.c | 27 +++++++++++++++++++++++++--
2 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcp71/msvcp71.spec b/dlls/msvcp71/msvcp71.spec
index 0bac67c..6b62d5c 100644
--- a/dlls/msvcp71/msvcp71.spec
+++ b/dlls/msvcp71/msvcp71.spec
@@ -3832,8 +3832,8 @@
@ thiscall -arch=win32 ?insert@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEAAV12(a)IPBDI@Z(ptr long ptr long) basic_string_char_insert_cstr_len
@ cdecl -arch=win64 ?insert@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAAAEAV12(a)_KPEBD@Z(ptr long str) basic_string_char_insert_cstr
@ thiscall -arch=win32 ?insert@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEXViterator(a)12@ID(a)Z(ptr ptr long long) basic_string_char_insert_iter_chn
-@ thiscall -arch=win32 ?insert@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEXViterator(a)12@PBD1(a)Z(ptr ptr ptr ptr) basic_string_wchar_insert_iter_ptr_ptr
-@ thiscall -arch=win32 ?insert@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEXViterator(a)12@Vconst_iterator(a)12@1(a)Z(ptr ptr ptr ptr) basic_string_wchar_insert_iter_beg_end
+@ thiscall -arch=win32 ?insert@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEXViterator(a)12@PBD1(a)Z(ptr ptr ptr ptr) basic_string_char_insert_iter_ptr_ptr
+@ thiscall -arch=win32 ?insert@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEXViterator(a)12@Vconst_iterator(a)12@1(a)Z(ptr ptr ptr ptr) basic_string_char_insert_iter_beg_end
@ thiscall -arch=win32 ?insert@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QAE?AViterator(a)12@V312@@Z(ptr ptr ptr) basic_string_wchar_insert_iter_null
@ thiscall -arch=win32 ?insert@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QAE?AViterator(a)12@V312(a)G@Z(ptr ptr ptr long) basic_string_wchar_insert_iter_ch
@ thiscall -arch=win32 ?insert@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QAEAAV12(a)IABV12@@Z(ptr long ptr) basic_string_wchar_insert
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index 810fb5a..3afb375 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -4138,6 +4138,15 @@ basic_string_char* __thiscall basic_string_char_replace_iter_ch(basic_string_cha
return this;
}
+static basic_string_char* basic_string_char_replace_iter_ptr_ptr(basic_string_char *this,
+ basic_string_char_iterator beg, basic_string_char_iterator end,
+ const char *res_beg, const char *res_end)
+{
+ basic_string_char_iterator begin = { basic_string_char_ptr(this) };
+ return basic_string_char_replace_cstr_len(this, basic_string_char__Pdif(beg, begin),
+ basic_string_char__Pdif(end, beg), res_beg, res_end-res_beg);
+}
+
/* ?replace@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEAAV12(a)Viterator@12(a)0PBD1@Z */
/* ?replace@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEAAV12(a)V?$_Ptrit(a)DHPADAADPADAAD@2(a)0PBD1@Z */
DEFINE_THISCALL_WRAPPER(basic_string_char_replace_iter_beg_end, 20)
@@ -4205,6 +4214,22 @@ basic_string_char_iterator* __thiscall basic_string_char_insert_iter_null(basic_
return basic_string_char_insert_iter_ch(this, ret, where, 0);
}
+/* ?insert@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEXViterator(a)12@PBD1(a)Z */
+DEFINE_THISCALL_WRAPPER(basic_string_char_insert_iter_ptr_ptr, 16)
+void __thiscall basic_string_char_insert_iter_ptr_ptr(basic_string_char *this,
+ basic_string_char_iterator where, const char *beg, const char *end)
+{
+ basic_string_char_replace_iter_ptr_ptr(this, where, where, beg, end);
+}
+
+/* ?insert@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAEXViterator(a)12@PBD1(a)Z */
+DEFINE_THISCALL_WRAPPER(basic_string_char_insert_iter_beg_end, 16)
+void __thiscall basic_string_char_insert_iter_beg_end(basic_string_char *this,
+ basic_string_char_iterator where, basic_string_char_iterator beg, basic_string_char_iterator end)
+{
+ basic_string_char_replace_iter_ptr_ptr(this, where, where, beg.pos, end.pos);
+}
+
/* ?begin@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE?AViterator(a)12@XZ */
/* ?begin@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBE?AVconst_iterator(a)12@XZ */
/* ?rend@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE?AV?$reverse_iterator(a)Viterator@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@@2(a)XZ */
@@ -4360,8 +4385,6 @@ basic_string_wchar* __thiscall basic_string_wchar_replace_iter_ch(basic_string_w
return this;
}
-/* ?replace@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAEAAV12(a)V?$_String_const_iterator(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@2(a)0PB_W1@Z */
-/* ?replace@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAAAEAV12(a)V?$_String_const_iterator(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@2(a)0PEB_W1@Z */
static basic_string_wchar* basic_string_wchar_replace_iter_ptr_ptr(basic_string_wchar *this,
basic_string_wchar_iterator beg, basic_string_wchar_iterator end,
const wchar_t *res_beg, const wchar_t *res_end)
1
0