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
d7f6eac0
Commit
d7f6eac0
authored
Apr 22, 2015
by
Piotr Caban
Committed by
Alexandre Julliard
Apr 22, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcp110: Fix _Getcvt implementation.
parent
bdf8c7a1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
38 additions
and
5 deletions
+38
-5
msvcp110.spec
dlls/msvcp110/msvcp110.spec
+1
-1
msvcp120.spec
dlls/msvcp120/msvcp120.spec
+1
-1
msvcp120_app.spec
dlls/msvcp120_app/msvcp120_app.spec
+1
-1
locale.c
dlls/msvcp90/locale.c
+26
-0
msvcp90.h
dlls/msvcp90/msvcp90.h
+7
-0
stdlib.h
include/msvcrt/stdlib.h
+2
-2
No files found.
dlls/msvcp110/msvcp110.spec
View file @
d7f6eac0
...
...
@@ -3780,7 +3780,7 @@
# extern _FZero
@ cdecl -ret64 _Getcoll()
@ cdecl _Getctype(ptr)
@ cdecl
-ret64 _Getcvt(
)
@ cdecl
_Getcvt(ptr
)
@ cdecl _Getdateorder()
@ cdecl _Getwctype(long ptr)
@ cdecl _Getwctypes(ptr ptr ptr ptr)
...
...
dlls/msvcp120/msvcp120.spec
View file @
d7f6eac0
...
...
@@ -3723,7 +3723,7 @@
# extern _FZero
@ cdecl -ret64 _Getcoll()
@ cdecl _Getctype(ptr)
@ cdecl
-ret64 _Getcvt(
)
@ cdecl
_Getcvt(ptr
)
@ cdecl _Getdateorder()
@ cdecl _Getwctype(long ptr)
@ cdecl _Getwctypes(ptr ptr ptr ptr)
...
...
dlls/msvcp120_app/msvcp120_app.spec
View file @
d7f6eac0
...
...
@@ -3723,7 +3723,7 @@
# extern _FZero
@ cdecl -ret64 _Getcoll() msvcp120._Getcoll
@ cdecl _Getctype(ptr) msvcp120._Getctype
@ cdecl
-ret64 _Getcvt(
) msvcp120._Getcvt
@ cdecl
_Getcvt(ptr
) msvcp120._Getcvt
@ cdecl _Getdateorder() msvcp120._Getdateorder
@ cdecl _Getwctype(long ptr) msvcp120._Getwctype
@ cdecl _Getwctypes(ptr ptr ptr ptr) msvcp120._Getwctypes
...
...
dlls/msvcp90/locale.c
View file @
d7f6eac0
...
...
@@ -24,6 +24,7 @@
#include "errno.h"
#include "limits.h"
#include "math.h"
#include "mbctype.h"
#include "stdio.h"
#include "wchar.h"
#include "wctype.h"
...
...
@@ -684,6 +685,7 @@ _Ctypevec* __thiscall _Locinfo__Getctype(const _Locinfo *this, _Ctypevec *ret)
}
/* _Getcvt */
#if _MSVCP_VER < 110
ULONGLONG
__cdecl
_Getcvt
(
void
)
{
union
{
...
...
@@ -697,14 +699,38 @@ ULONGLONG __cdecl _Getcvt(void)
ret
.
cvtvec
.
handle
=
___lc_handle_func
()[
LC_CTYPE
];
return
ret
.
ull
;
}
#else
_Cvtvec
*
__cdecl
_Getcvt
(
_Cvtvec
*
ret
)
{
int
i
;
TRACE
(
"
\n
"
);
memset
(
ret
,
0
,
sizeof
(
*
ret
));
ret
->
page
=
___lc_codepage_func
();
ret
->
mb_max
=
___mb_cur_max_func
();
if
(
ret
->
mb_max
>
1
)
{
for
(
i
=
0
;
i
<
256
;
i
++
)
if
(
_ismbblead
(
i
))
ret
->
isleadbyte
[
i
/
8
]
|=
1
<<
(
i
&
7
);
}
return
ret
;
}
#endif
/* ?_Getcvt@_Locinfo@std@@QBE?AU_Cvtvec@@XZ */
/* ?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ */
DEFINE_THISCALL_WRAPPER
(
_Locinfo__Getcvt
,
8
)
_Cvtvec
*
__thiscall
_Locinfo__Getcvt
(
const
_Locinfo
*
this
,
_Cvtvec
*
ret
)
{
#if _MSVCP_VER < 110
ULONGLONG
ull
=
_Getcvt
();
memcpy
(
ret
,
&
ull
,
sizeof
(
ull
));
#else
_Cvtvec
cvtvec
;
_Getcvt
(
&
cvtvec
);
memcpy
(
ret
,
&
cvtvec
,
sizeof
(
cvtvec
));
#endif
return
ret
;
}
...
...
dlls/msvcp90/msvcp90.h
View file @
d7f6eac0
...
...
@@ -192,8 +192,15 @@ int __thiscall codecvt_char_in(const codecvt_char*, int*, const char*,
int
__thiscall
codecvt_base_max_length
(
const
codecvt_base
*
);
typedef
struct
{
#if _MSVCP_VER < 110
LCID
handle
;
#endif
unsigned
page
;
#if _MSVCP_VER >= 110
int
mb_max
;
int
unk
;
BYTE
isleadbyte
[
32
];
#endif
}
_Cvtvec
;
/* class codecvt<wchar> */
...
...
include/msvcrt/stdlib.h
View file @
d7f6eac0
...
...
@@ -119,8 +119,8 @@ extern unsigned int _fmode;
#endif
/* __i386__ */
extern
int
*
__cdecl
___mb_cur_max_func
(
void
);
#define __mb_cur_max
(*___mb_cur_max_func()
)
extern
int
__cdecl
___mb_cur_max_func
(
void
);
#define __mb_cur_max
___mb_cur_max_func(
)
extern
__msvcrt_ulong
*
__cdecl
__doserrno
(
void
);
#define _doserrno (*__doserrno())
extern
int
*
__cdecl
_errno
(
void
);
...
...
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