Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
874c3f96
Commit
874c3f96
authored
Sep 12, 2015
by
Piotr Caban
Committed by
Alexandre Julliard
Sep 14, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcp60: Fix basic_string::operator[size_t] implementation.
parent
09a727c3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
11 deletions
+38
-11
msvcp60.spec
dlls/msvcp60/msvcp60.spec
+4
-4
string.c
dlls/msvcp60/string.c
+34
-7
No files found.
dlls/msvcp60/msvcp60.spec
View file @
874c3f96
...
@@ -1535,12 +1535,12 @@
...
@@ -1535,12 +1535,12 @@
@ cdecl -arch=win64 ??9std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z(ptr ptr) MSVCP_basic_string_wchar_not_equal_cstr_str
@ cdecl -arch=win64 ??9std@@YA_NPEBGAEBV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@0@@Z(ptr ptr) MSVCP_basic_string_wchar_not_equal_cstr_str
@ thiscall -arch=win32 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z(ptr long) MSVCP_basic_string_char_operator_at
@ thiscall -arch=win32 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z(ptr long) MSVCP_basic_string_char_operator_at
@ cdecl -arch=win64 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z(ptr long) MSVCP_basic_string_char_operator_at
@ cdecl -arch=win64 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z(ptr long) MSVCP_basic_string_char_operator_at
@ thiscall -arch=win32 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z(ptr long) MSVCP_basic_string_char_operator_at
@ thiscall -arch=win32 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z(ptr long) MSVCP_basic_string_char_operator_at
_const
@ cdecl -arch=win64 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z(ptr long) MSVCP_basic_string_char_operator_at
@ cdecl -arch=win64 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z(ptr long) MSVCP_basic_string_char_operator_at
_const
@ thiscall -arch=win32 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z(ptr long) MSVCP_basic_string_wchar_operator_at
@ thiscall -arch=win32 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z(ptr long) MSVCP_basic_string_wchar_operator_at
@ cdecl -arch=win64 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z(ptr long) MSVCP_basic_string_wchar_operator_at
@ cdecl -arch=win64 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z(ptr long) MSVCP_basic_string_wchar_operator_at
@ thiscall -arch=win32 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z(ptr long) MSVCP_basic_string_wchar_operator_at
@ thiscall -arch=win32 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z(ptr long) MSVCP_basic_string_wchar_operator_at
_const
@ cdecl -arch=win64 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z(ptr long) MSVCP_basic_string_wchar_operator_at
@ cdecl -arch=win64 ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z(ptr long) MSVCP_basic_string_wchar_operator_at
_const
@ thiscall -arch=win32 ??Bid@locale@std@@QAEIXZ(ptr) locale_id_operator_size_t
@ thiscall -arch=win32 ??Bid@locale@std@@QAEIXZ(ptr) locale_id_operator_size_t
@ cdecl -arch=win64 ??Bid@locale@std@@QEAA_KXZ(ptr) locale_id_operator_size_t
@ cdecl -arch=win64 ??Bid@locale@std@@QEAA_KXZ(ptr) locale_id_operator_size_t
@ thiscall -arch=win32 ??Bios_base@std@@QBEPAXXZ(ptr) ios_base_op_fail
@ thiscall -arch=win32 ??Bios_base@std@@QBEPAXXZ(ptr) ios_base_op_fail
...
...
dlls/msvcp60/string.c
View file @
874c3f96
...
@@ -22,7 +22,6 @@
...
@@ -22,7 +22,6 @@
#include "msvcp.h"
#include "msvcp.h"
#include "stdio.h"
#include "stdio.h"
#include "assert.h"
#include "windef.h"
#include "windef.h"
#include "winbase.h"
#include "winbase.h"
...
@@ -1412,15 +1411,29 @@ basic_string_char* __cdecl MSVCP_basic_string_char_concatenate_cstr_bstr(basic_s
...
@@ -1412,15 +1411,29 @@ basic_string_char* __cdecl MSVCP_basic_string_char_concatenate_cstr_bstr(basic_s
/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z */
/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z */
/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z */
/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAD_K@Z */
/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z */
/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z */
DEFINE_THISCALL_WRAPPER
(
MSVCP_basic_string_char_operator_at
,
8
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_basic_string_char_operator_at
,
8
)
char
*
__thiscall
MSVCP_basic_string_char_operator_at
(
char
*
__thiscall
MSVCP_basic_string_char_operator_at
(
basic_string_char
*
this
,
MSVCP_size_t
pos
)
basic_string_char
*
this
,
MSVCP_size_t
pos
)
{
{
TRACE
(
"%p %lu
\n
"
,
this
,
pos
);
TRACE
(
"%p %lu
\n
"
,
this
,
pos
);
assert
(
this
->
size
>=
pos
);
if
(
!
this
->
ptr
||
pos
>
this
->
size
)
return
(
char
*
)
basic_string_char__Nullstr
();
basic_string_char__Freeze
(
this
);
return
this
->
ptr
+
pos
;
}
/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDI@Z */
/* ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAAEBD_K@Z */
DEFINE_THISCALL_WRAPPER
(
MSVCP_basic_string_char_operator_at_const
,
8
)
const
char
*
__thiscall
MSVCP_basic_string_char_operator_at_const
(
const
basic_string_char
*
this
,
MSVCP_size_t
pos
)
{
TRACE
(
"%p %lu
\n
"
,
this
,
pos
);
if
(
!
this
->
ptr
)
return
basic_string_char__Nullstr
();
return
this
->
ptr
+
pos
;
return
this
->
ptr
+
pos
;
}
}
...
@@ -2935,15 +2948,29 @@ basic_string_wchar* __cdecl MSVCP_basic_string_wchar_concatenate_cstr_bstr(basic
...
@@ -2935,15 +2948,29 @@ basic_string_wchar* __cdecl MSVCP_basic_string_wchar_concatenate_cstr_bstr(basic
/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z */
/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAEAAGI@Z */
/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z */
/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEAAAEAG_K@Z */
/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z */
/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z */
DEFINE_THISCALL_WRAPPER
(
MSVCP_basic_string_wchar_operator_at
,
8
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_basic_string_wchar_operator_at
,
8
)
wchar_t
*
__thiscall
MSVCP_basic_string_wchar_operator_at
(
wchar_t
*
__thiscall
MSVCP_basic_string_wchar_operator_at
(
basic_string_wchar
*
this
,
MSVCP_size_t
pos
)
basic_string_wchar
*
this
,
MSVCP_size_t
pos
)
{
{
TRACE
(
"%p %lu
\n
"
,
this
,
pos
);
TRACE
(
"%p %lu
\n
"
,
this
,
pos
);
assert
(
this
->
size
>=
pos
);
if
(
!
this
->
ptr
||
pos
>
this
->
size
)
return
(
wchar_t
*
)
basic_string_wchar__Nullstr
();
basic_string_wchar__Freeze
(
this
);
return
this
->
ptr
+
pos
;
}
/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QBEABGI@Z */
/* ??A?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QEBAAEBG_K@Z */
DEFINE_THISCALL_WRAPPER
(
MSVCP_basic_string_wchar_operator_at_const
,
8
)
const
wchar_t
*
__thiscall
MSVCP_basic_string_wchar_operator_at_const
(
const
basic_string_wchar
*
this
,
MSVCP_size_t
pos
)
{
TRACE
(
"%p %lu
\n
"
,
this
,
pos
);
if
(
!
this
->
ptr
)
return
basic_string_wchar__Nullstr
();
return
this
->
ptr
+
pos
;
return
this
->
ptr
+
pos
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment