Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
e7944878
Commit
e7944878
authored
Dec 06, 2012
by
Piotr Caban
Committed by
Alexandre Julliard
Dec 06, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcr: Move msvcrXX specific functions implementation to msvcr100.
parent
201b1c2a
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
388 additions
and
394 deletions
+388
-394
msvcr100.c
dlls/msvcr100/msvcr100.c
+323
-0
msvcr100.spec
dlls/msvcr100/msvcr100.spec
+21
-21
msvcr70.spec
dlls/msvcr70/msvcr70.spec
+1
-1
msvcr71.spec
dlls/msvcr71/msvcr71.spec
+1
-1
msvcr80.spec
dlls/msvcr80/msvcr80.spec
+21
-21
msvcr90.c
dlls/msvcr90/msvcr90.c
+0
-329
msvcr90.spec
dlls/msvcr90/msvcr90.spec
+21
-21
No files found.
dlls/msvcr100/msvcr100.c
View file @
e7944878
...
...
@@ -18,11 +18,14 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <stdarg.h>
#include "stdio.h"
#include "stdlib.h"
#include "errno.h"
#include "malloc.h"
#include "sys/stat.h"
#include "windef.h"
#include "winbase.h"
#include "wine/debug.h"
...
...
@@ -33,6 +36,64 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
#define CHECK_PMT_ERR(x,err) ((x) || (INVALID_PMT( 0, (err) ), FALSE))
#define CHECK_PMT(x) CHECK_PMT_ERR((x), EINVAL)
#ifdef __i386__
/* thiscall functions are i386-specific */
#define THISCALL(func) __thiscall_ ## func
#define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
#define __thiscall __stdcall
#define DEFINE_THISCALL_WRAPPER(func,args) \
extern void THISCALL(func)(void); \
__ASM_GLOBAL_FUNC(__thiscall_ ## func, \
"popl %eax\n\t" \
"pushl %ecx\n\t" \
"pushl %eax\n\t" \
"jmp " __ASM_NAME(#func) __ASM_STDCALL(args) )
#else
/* __i386__ */
#define THISCALL(func) func
#define THISCALL_NAME(func) __ASM_NAME(#func)
#define __thiscall __cdecl
#define DEFINE_THISCALL_WRAPPER(func,args)
/* nothing */
#endif
/* __i386__ */
struct
__type_info_node
{
void
*
memPtr
;
struct
__type_info_node
*
next
;
};
typedef
struct
__type_info
{
const
void
*
vtable
;
char
*
name
;
/* Unmangled name, allocated lazily */
char
mangled
[
32
];
/* Variable length, but we declare it large enough for static RTTI */
}
type_info
;
typedef
void
*
(
__cdecl
*
malloc_func_t
)(
size_t
);
typedef
void
(
__cdecl
*
free_func_t
)(
void
*
);
extern
char
*
__cdecl
__unDName
(
char
*
,
const
char
*
,
int
,
malloc_func_t
,
free_func_t
,
unsigned
short
int
);
/*********************************************************************
* * stat64_to_stat32 [internal]
* */
static
void
stat64_to_stat32
(
const
struct
_stat64
*
buf64
,
struct
_stat32
*
buf
)
{
buf
->
st_dev
=
buf64
->
st_dev
;
buf
->
st_ino
=
buf64
->
st_ino
;
buf
->
st_mode
=
buf64
->
st_mode
;
buf
->
st_nlink
=
buf64
->
st_nlink
;
buf
->
st_uid
=
buf64
->
st_uid
;
buf
->
st_gid
=
buf64
->
st_gid
;
buf
->
st_rdev
=
buf64
->
st_rdev
;
buf
->
st_size
=
buf64
->
st_size
;
buf
->
st_atime
=
buf64
->
st_atime
;
buf
->
st_mtime
=
buf64
->
st_mtime
;
buf
->
st_ctime
=
buf64
->
st_ctime
;
}
/*********************************************************************
* wmemcpy_s (MSVCR100.@)
*/
...
...
@@ -81,6 +142,268 @@ int CDECL wmemmove_s(wchar_t *dest, size_t numberOfElements, const wchar_t *src,
}
/*********************************************************************
* _encoded_null (MSVCR100.@)
*/
void
*
CDECL
_encoded_null
(
void
)
{
TRACE
(
"
\n
"
);
return
EncodePointer
(
NULL
);
}
/*********************************************************************
* _invalid_parameter_noinfo (MSVCR100.@)
*/
void
CDECL
_invalid_parameter_noinfo
(
void
)
{
_invalid_parameter
(
NULL
,
NULL
,
NULL
,
0
,
0
);
}
/*********************************************************************
* __sys_nerr (MSVCR100.@)
*/
int
*
CDECL
__sys_nerr
(
void
)
{
return
(
int
*
)
GetProcAddress
(
GetModuleHandleA
(
"msvcrt.dll"
),
"_sys_nerr"
);
}
/*********************************************************************
* __sys_errlist (MSVCR100.@)
*/
char
**
CDECL
__sys_errlist
(
void
)
{
return
(
char
**
)
GetProcAddress
(
GetModuleHandleA
(
"msvcrt.dll"
),
"_sys_errlist"
);
}
/*********************************************************************
* __clean_type_info_names_internal (MSVCR100.@)
*/
void
CDECL
__clean_type_info_names_internal
(
void
*
p
)
{
FIXME
(
"(%p) stub
\n
"
,
p
);
}
/*********************************************************************
* _recalloc (MSVCR100.@)
*/
void
*
CDECL
_recalloc
(
void
*
mem
,
size_t
num
,
size_t
size
)
{
size_t
old_size
;
void
*
ret
;
if
(
!
mem
)
return
calloc
(
num
,
size
);
size
=
num
*
size
;
old_size
=
_msize
(
mem
);
ret
=
realloc
(
mem
,
size
);
if
(
!
ret
)
{
*
_errno
()
=
ENOMEM
;
return
NULL
;
}
if
(
size
>
old_size
)
memset
((
BYTE
*
)
ret
+
old_size
,
0
,
size
-
old_size
);
return
ret
;
}
/*********************************************************************
* _fstat32 (MSVCR100.@)
*/
int
CDECL
_fstat32
(
int
fd
,
struct
_stat32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_fstat64
(
fd
,
&
buf64
);
if
(
!
ret
)
stat64_to_stat32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _stat32 (MSVCR100.@)
*/
int
CDECL
_stat32
(
const
char
*
path
,
struct
_stat32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_stat64
(
path
,
&
buf64
);
if
(
!
ret
)
stat64_to_stat32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _wstat32 (MSVCR100.@)
*/
int
CDECL
_wstat32
(
const
wchar_t
*
path
,
struct
_stat32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_wstat64
(
path
,
&
buf64
);
if
(
!
ret
)
stat64_to_stat32
(
&
buf64
,
buf
);
return
ret
;
}
static
void
stat64_to_stat64i32
(
const
struct
_stat64
*
buf64
,
struct
_stat64i32
*
buf
)
{
buf
->
st_dev
=
buf64
->
st_dev
;
buf
->
st_ino
=
buf64
->
st_ino
;
buf
->
st_mode
=
buf64
->
st_mode
;
buf
->
st_nlink
=
buf64
->
st_nlink
;
buf
->
st_uid
=
buf64
->
st_uid
;
buf
->
st_gid
=
buf64
->
st_gid
;
buf
->
st_rdev
=
buf64
->
st_rdev
;
buf
->
st_size
=
buf64
->
st_size
;
buf
->
st_atime
=
buf64
->
st_atime
;
buf
->
st_mtime
=
buf64
->
st_mtime
;
buf
->
st_ctime
=
buf64
->
st_ctime
;
}
/*********************************************************************
* _fstat64i32 (MSVCR100.@)
*/
int
CDECL
_fstat64i32
(
int
fd
,
struct
_stat64i32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_fstat64
(
fd
,
&
buf64
);
if
(
!
ret
)
stat64_to_stat64i32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _stat64i32 (MSVCR100.@)
*/
int
CDECL
_stat64i32
(
const
char
*
path
,
struct
_stat64i32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_stat64
(
path
,
&
buf64
);
if
(
!
ret
)
stat64_to_stat64i32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _wstat64i32 (MSVCR100.@)
*/
int
CDECL
_wstat64i32
(
const
wchar_t
*
path
,
struct
_stat64i32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_wstat64
(
path
,
&
buf64
);
if
(
!
ret
)
stat64_to_stat64i32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _atoflt (MSVCR100.@)
*/
int
CDECL
_atoflt
(
_CRT_FLOAT
*
value
,
char
*
str
)
{
return
_atoflt_l
(
value
,
str
,
NULL
);
}
/*********************************************************************
* ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z (MSVCR100.@)
*/
DEFINE_THISCALL_WRAPPER
(
type_info_name_internal_method
,
8
)
const
char
*
__thiscall
type_info_name_internal_method
(
type_info
*
_this
,
struct
__type_info_node
*
node
)
{
static
int
once
;
if
(
node
&&
!
once
++
)
FIXME
(
"type_info_node parameter ignored
\n
"
);
if
(
!
_this
->
name
)
{
/* Create and set the demangled name */
/* Note: mangled name in type_info struct always starts with a '.', while
* it isn't valid for mangled name.
* Is this '.' really part of the mangled name, or has it some other meaning ?
*/
char
*
name
=
__unDName
(
0
,
_this
->
mangled
+
1
,
0
,
malloc
,
free
,
0x2800
);
if
(
name
)
{
unsigned
int
len
=
strlen
(
name
);
/* It seems _unDName may leave blanks at the end of the demangled name */
while
(
len
&&
name
[
--
len
]
==
' '
)
name
[
len
]
=
'\0'
;
if
(
InterlockedCompareExchangePointer
((
void
**
)
&
_this
->
name
,
name
,
NULL
))
{
/* Another thread set this member since we checked above - use it */
free
(
name
);
}
}
}
TRACE
(
"(%p) returning %s
\n
"
,
_this
,
_this
->
name
);
return
_this
->
name
;
}
/*********************************************************************
* _CRT_RTC_INIT (MSVCR100.@)
*/
void
*
CDECL
_CRT_RTC_INIT
(
void
*
unk1
,
void
*
unk2
,
int
unk3
,
int
unk4
,
int
unk5
)
{
TRACE
(
"%p %p %x %x %x
\n
"
,
unk1
,
unk2
,
unk3
,
unk4
,
unk5
);
return
NULL
;
}
/*********************************************************************
* _CRT_RTC_INITW (MSVCR100.@)
*/
void
*
CDECL
_CRT_RTC_INITW
(
void
*
unk1
,
void
*
unk2
,
int
unk3
,
int
unk4
,
int
unk5
)
{
TRACE
(
"%p %p %x %x %x
\n
"
,
unk1
,
unk2
,
unk3
,
unk4
,
unk5
);
return
NULL
;
}
/*********************************************************************
* _vswprintf_p (MSVCR100.@)
*/
int
CDECL
_vswprintf_p
(
wchar_t
*
buffer
,
size_t
length
,
const
wchar_t
*
format
,
__ms_va_list
args
)
{
return
_vswprintf_p_l
(
buffer
,
length
,
format
,
NULL
,
args
);
}
/*********************************************************************
* _byteswap_ushort (MSVCR100.@)
*/
unsigned
short
CDECL
_byteswap_ushort
(
unsigned
short
s
)
{
return
(
s
<<
8
)
+
(
s
>>
8
);
}
/*********************************************************************
* _byteswap_ulong (MSVCR100.@)
*/
ULONG
CDECL
_byteswap_ulong
(
ULONG
l
)
{
return
(
l
<<
24
)
+
((
l
<<
8
)
&
0xFF0000
)
+
((
l
>>
8
)
&
0xFF00
)
+
(
l
>>
24
);
}
/*********************************************************************
* _byteswap_uint64 (MSVCR100.@)
*/
unsigned
__int64
CDECL
_byteswap_uint64
(
unsigned
__int64
i
)
{
return
(
i
<<
56
)
+
((
i
&
0xFF00
)
<<
40
)
+
((
i
&
0xFF0000
)
<<
24
)
+
((
i
&
0xFF000000
)
<<
8
)
+
((
i
>>
8
)
&
0xFF000000
)
+
((
i
>>
24
)
&
0xFF0000
)
+
((
i
>>
40
)
&
0xFF00
)
+
(
i
>>
56
);
}
/*********************************************************************
* DllMain (MSVCR100.@)
*/
BOOL
WINAPI
DllMain
(
HINSTANCE
hdll
,
DWORD
reason
,
LPVOID
reserved
)
...
...
dlls/msvcr100/msvcr100.spec
View file @
e7944878
...
...
@@ -427,8 +427,8 @@
@ cdecl -arch=win64 ?_invalid_parameter@@YAXPEBG00I_K@Z(wstr wstr wstr long long) msvcrt._invalid_parameter
@ stub -arch=win32 ?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z # int __cdecl _is_exception_typeof(class type_info const &,struct _EXCEPTION_POINTERS *)
@ stub -arch=win64 ?_is_exception_typeof@@YAHAEBVtype_info@@PEAU_EXCEPTION_POINTERS@@@Z # int __cdecl _is_exception_typeof(class type_info const & __ptr64,struct _EXCEPTION_POINTERS * __ptr64)
@ thiscall -arch=win32 ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z(ptr ptr)
msvcr90.?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z
@ cdecl -arch=win64 ?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z(ptr ptr)
msvcr90.?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z
@ thiscall -arch=win32 ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z(ptr ptr)
type_info_name_internal_method
@ cdecl -arch=win64 ?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z(ptr ptr)
type_info_name_internal_method
@ varargs -arch=win32 ?_open@@YAHPBDHH@Z(str long) msvcrt._open
@ varargs -arch=win64 ?_open@@YAHPEBDHH@Z(str long) msvcrt._open
@ cdecl -arch=win32 ?_query_new_handler@@YAP6AHI@ZXZ() msvcrt.?_query_new_handler@@YAP6AHI@ZXZ
...
...
@@ -515,8 +515,8 @@
@ cdecl -arch=i386 _CIsqrt() msvcrt._CIsqrt
@ cdecl -arch=i386 _CItan() msvcrt._CItan
@ cdecl -arch=i386 _CItanh() msvcrt._CItanh
@ cdecl _CRT_RTC_INIT(ptr ptr long long long)
msvcr90._CRT_RTC_INIT
@ cdecl _CRT_RTC_INITW(ptr ptr long long long)
msvcr90._CRT_RTC_INITW
@ cdecl _CRT_RTC_INIT(ptr ptr long long long)
@ cdecl _CRT_RTC_INITW(ptr ptr long long long)
@ stub _CreateFrameInfo
@ stdcall _CxxThrowException(long long) msvcrt._CxxThrowException
@ cdecl -i386 -norelay _EH_prolog() msvcrt._EH_prolog
...
...
@@ -569,7 +569,7 @@
@ extern __argc msvcrt.__argc
@ extern __argv msvcrt.__argv
### extern __badioinfo #don't forward to msvcrt.__badioinfo, it has different size
@ cdecl __clean_type_info_names_internal(ptr)
msvcr90.__clean_type_info_names_internal
@ cdecl __clean_type_info_names_internal(ptr)
@ cdecl -arch=i386 __control87_2(long long ptr ptr) msvcrt.__control87_2
@ stub __create_locale
@ cdecl __crtCompareStringA(long long str long str long) msvcrt.__crtCompareStringA
...
...
@@ -653,8 +653,8 @@
@ cdecl __setusermatherr(ptr) msvcrt.__setusermatherr
@ stub __strncnt
@ stub __swprintf_l
@ cdecl __sys_errlist()
msvcr90.__sys_errlist
@ cdecl __sys_nerr()
msvcr90.__sys_nerr
@ cdecl __sys_errlist()
@ cdecl __sys_nerr()
@ cdecl __threadhandle() msvcrt.__threadhandle
@ cdecl __threadid() msvcrt.__threadid
@ cdecl __timezone() msvcrt.__p__timezone
...
...
@@ -689,7 +689,7 @@
@ cdecl _atodbl(ptr str) msvcrt._atodbl
@ stub _atodbl_l
@ cdecl _atof_l(str ptr) msvcrt._atof_l
@ cdecl _atoflt(ptr str)
msvcr90._atoflt
@ cdecl _atoflt(ptr str)
@ cdecl _atoflt_l(ptr str ptr) msvcrt._atoflt_l
@ cdecl -ret64 _atoi64(str) msvcrt._atoi64
@ stub _atoi64_l
...
...
@@ -700,9 +700,9 @@
@ cdecl _beep(long long) msvcrt._beep
@ cdecl _beginthread(ptr long ptr) msvcrt._beginthread
@ cdecl _beginthreadex(ptr long ptr ptr long ptr) msvcrt._beginthreadex
@ cdecl _byteswap_uint64(int64)
msvcr90._byteswap_uint64
@ cdecl _byteswap_ulong(long)
msvcr90._byteswap_ulong
@ cdecl _byteswap_ushort(long)
msvcr90._byteswap_ushort
@ cdecl _byteswap_uint64(int64)
@ cdecl _byteswap_ulong(long)
@ cdecl _byteswap_ushort(long)
@ cdecl _c_exit() msvcrt._c_exit
@ cdecl _cabs(long) msvcrt._cabs
@ cdecl _callnewh(long) msvcrt._callnewh
...
...
@@ -770,7 +770,7 @@
@ cdecl _dupenv_s(ptr ptr str) msvcrt._dupenv_s
@ cdecl _ecvt(double long ptr ptr) msvcrt._ecvt
@ cdecl _ecvt_s(str long double long ptr ptr) msvcrt._ecvt_s
@ cdecl _encoded_null()
msvcr90._encoded_null
@ cdecl _encoded_null()
@ cdecl _endthread() msvcrt._endthread
@ cdecl _endthreadex(long) msvcrt._endthreadex
@ extern _environ msvcrt._environ
...
...
@@ -839,10 +839,10 @@
@ cdecl _fseeki64(ptr int64 long) msvcrt._fseeki64
@ stub _fseeki64_nolock
@ cdecl _fsopen(str str long) msvcrt._fsopen
@ cdecl _fstat32(long ptr)
msvcr90._fstat32
@ cdecl _fstat32(long ptr)
@ stub _fstat32i64
@ cdecl _fstat64(long ptr) msvcrt._fstat64
@ cdecl _fstat64i32(long ptr)
msvcr90._fstat64i32
@ cdecl _fstat64i32(long ptr)
@ stub _ftell_nolock
@ cdecl -ret64 _ftelli64(ptr) msvcrt._ftelli64
@ stub _ftelli64_nolock
...
...
@@ -929,7 +929,7 @@
@ cdecl -arch=i386 _inpd(long) msvcrt._inpd
@ cdecl -arch=i386 _inpw(long) msvcrt._inpw
@ cdecl _invalid_parameter(wstr wstr wstr long long) msvcrt._invalid_parameter
@ cdecl _invalid_parameter_noinfo()
msvcr90._invalid_parameter_noinfo
@ cdecl _invalid_parameter_noinfo()
@ stub _invalid_parameter_noinfo_noreturn
@ stub _invoke_watson
@ extern _iob msvcrt._iob
...
...
@@ -1235,7 +1235,7 @@
# extern _pwctype
@ cdecl _read(long ptr long) msvcrt._read
@ cdecl _realloc_crt(ptr long) msvcrt.realloc
@ cdecl _recalloc(ptr long long)
msvcr90._recalloc
@ cdecl _recalloc(ptr long long)
@ stub _recalloc_crt
@ cdecl _resetstkoflw() msvcrt._resetstkoflw
@ cdecl _rmdir(str) msvcrt._rmdir
...
...
@@ -1317,10 +1317,10 @@
@ stub _sprintf_s_l
@ varargs _sscanf_l(str str ptr) msvcrt._sscanf_l
@ varargs _sscanf_s_l(str str ptr) msvcrt._sscanf_s_l
@ cdecl _stat32(str ptr)
msvcr90._stat32
@ cdecl _stat32(str ptr)
@ stub _stat32i64
@ cdecl _stat64(str ptr) msvcrt._stat64
@ cdecl _stat64i32(str ptr)
msvcr90._stat64i32
@ cdecl _stat64i32(str ptr)
@ cdecl _statusfp() msvcrt._statusfp
@ cdecl -arch=i386 _statusfp2(ptr ptr) msvcrt._statusfp2
@ cdecl _strcoll_l(str str ptr) msvcrt._strcoll_l
...
...
@@ -1460,7 +1460,7 @@
@ cdecl _vswprintf_c(ptr long wstr ptr) msvcrt._vswprintf_c
@ cdecl _vswprintf_c_l(ptr long wstr ptr ptr) msvcrt._vswprintf_c_l
@ cdecl _vswprintf_l(ptr wstr ptr ptr) msvcrt._vswprintf_l
@ cdecl _vswprintf_p(ptr long wstr ptr)
msvcr90._vswprintf_p
@ cdecl _vswprintf_p(ptr long wstr ptr)
@ cdecl _vswprintf_p_l(ptr long wstr ptr ptr) msvcrt._vswprintf_p_l
@ cdecl _vswprintf_s_l(ptr long wstr ptr ptr) msvcrt._vswprintf_s_l
@ stub _vwprintf_l
...
...
@@ -1587,10 +1587,10 @@
@ cdecl _wspawnvpe(long wstr ptr ptr) msvcrt._wspawnvpe
@ cdecl _wsplitpath(wstr ptr ptr ptr ptr) msvcrt._wsplitpath
@ cdecl _wsplitpath_s(wstr ptr long ptr long ptr long ptr long) msvcrt._wsplitpath_s
@ cdecl _wstat32(wstr ptr)
msvcr90._wstat32
@ cdecl _wstat32(wstr ptr)
@ stub _wstat32i64
@ cdecl _wstat64(wstr ptr) msvcrt._wstat64
@ cdecl _wstat64i32(wstr ptr)
msvcr90._wstat64i32
@ cdecl _wstat64i32(wstr ptr)
@ cdecl _wstrdate(ptr) msvcrt._wstrdate
@ cdecl _wstrdate_s(ptr long) msvcrt._wstrdate_s
@ cdecl _wstrtime(ptr) msvcrt._wstrtime
...
...
dlls/msvcr70/msvcr70.spec
View file @
e7944878
...
...
@@ -107,7 +107,7 @@
@ cdecl -arch=i386 _CIsqrt() msvcrt._CIsqrt
@ cdecl -arch=i386 _CItan() msvcrt._CItan
@ cdecl -arch=i386 _CItanh() msvcrt._CItanh
@ cdecl _CRT_RTC_INIT(ptr ptr long long long) msvcr
9
0._CRT_RTC_INIT
@ cdecl _CRT_RTC_INIT(ptr ptr long long long) msvcr
10
0._CRT_RTC_INIT
@ stdcall _CxxThrowException(long long) msvcrt._CxxThrowException
@ cdecl -i386 -norelay _EH_prolog() msvcrt._EH_prolog
@ cdecl _Getdays() msvcrt._Getdays
...
...
dlls/msvcr71/msvcr71.spec
View file @
e7944878
...
...
@@ -101,7 +101,7 @@
@ cdecl -arch=i386 _CIsqrt() msvcrt._CIsqrt
@ cdecl -arch=i386 _CItan() msvcrt._CItan
@ cdecl -arch=i386 _CItanh() msvcrt._CItanh
@ cdecl _CRT_RTC_INIT(ptr ptr long long long) msvcr
9
0._CRT_RTC_INIT
@ cdecl _CRT_RTC_INIT(ptr ptr long long long) msvcr
10
0._CRT_RTC_INIT
@ stdcall _CxxThrowException(long long) msvcrt._CxxThrowException
@ cdecl -i386 -norelay _EH_prolog() msvcrt._EH_prolog
@ cdecl _Getdays() msvcrt._Getdays
...
...
dlls/msvcr80/msvcr80.spec
View file @
e7944878
...
...
@@ -83,8 +83,8 @@
@ cdecl -arch=win64 ?_invalid_parameter@@YAXPEBG00I_K@Z(wstr wstr wstr long long) msvcrt._invalid_parameter
@ stub -arch=win32 ?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z # int __cdecl _is_exception_typeof(class type_info const &,struct _EXCEPTION_POINTERS *)
@ stub -arch=win64 ?_is_exception_typeof@@YAHAEBVtype_info@@PEAU_EXCEPTION_POINTERS@@@Z # int __cdecl _is_exception_typeof(class type_info const & __ptr64,struct _EXCEPTION_POINTERS * __ptr64)
@ thiscall -arch=win32 ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z(ptr ptr) msvcr
9
0.?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z
@ cdecl -arch=win64 ?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z(ptr ptr) msvcr
9
0.?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z
@ thiscall -arch=win32 ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z(ptr ptr) msvcr
10
0.?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z
@ cdecl -arch=win64 ?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z(ptr ptr) msvcr
10
0.?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z
@ varargs -arch=win32 ?_open@@YAHPBDHH@Z(str long) msvcrt._open
@ varargs -arch=win64 ?_open@@YAHPEBDHH@Z(str long) msvcrt._open
@ cdecl -arch=win32 ?_query_new_handler@@YAP6AHI@ZXZ() msvcrt.?_query_new_handler@@YAP6AHI@ZXZ
...
...
@@ -145,8 +145,8 @@
@ cdecl -arch=i386 _CIsqrt() msvcrt._CIsqrt
@ cdecl -arch=i386 _CItan() msvcrt._CItan
@ cdecl -arch=i386 _CItanh() msvcrt._CItanh
@ cdecl _CRT_RTC_INIT(ptr ptr long long long) msvcr
9
0._CRT_RTC_INIT
@ cdecl _CRT_RTC_INITW(ptr ptr long long long) msvcr
9
0._CRT_RTC_INITW
@ cdecl _CRT_RTC_INIT(ptr ptr long long long) msvcr
10
0._CRT_RTC_INIT
@ cdecl _CRT_RTC_INITW(ptr ptr long long long) msvcr
10
0._CRT_RTC_INITW
@ stub _CreateFrameInfo
@ stdcall _CxxThrowException(long long) msvcrt._CxxThrowException
@ cdecl -i386 -norelay _EH_prolog() msvcrt._EH_prolog
...
...
@@ -197,7 +197,7 @@
@ extern __argc msvcrt.__argc
@ extern __argv msvcrt.__argv
### extern __badioinfo #don't forward to msvcrt.__badioinfo, it has different size
@ cdecl __clean_type_info_names_internal(ptr) msvcr
9
0.__clean_type_info_names_internal
@ cdecl __clean_type_info_names_internal(ptr) msvcr
10
0.__clean_type_info_names_internal
@ cdecl -arch=i386 __control87_2(long long ptr ptr) msvcrt.__control87_2
@ stub __create_locale
@ cdecl __crtCompareStringA(long long str long str long) msvcrt.__crtCompareStringA
...
...
@@ -294,8 +294,8 @@
@ cdecl __setusermatherr(ptr) msvcrt.__setusermatherr
@ stub __strncnt
@ stub __swprintf_l
@ cdecl __sys_errlist() msvcr
9
0.__sys_errlist
@ cdecl __sys_nerr() msvcr
9
0.__sys_nerr
@ cdecl __sys_errlist() msvcr
10
0.__sys_errlist
@ cdecl __sys_nerr() msvcr
10
0.__sys_nerr
@ cdecl __threadhandle() msvcrt.__threadhandle
@ cdecl __threadid() msvcrt.__threadid
@ cdecl __timezone() msvcrt.__p__timezone
...
...
@@ -345,7 +345,7 @@
@ cdecl _atodbl(ptr str) msvcrt._atodbl
@ stub _atodbl_l
@ cdecl _atof_l(str ptr) msvcrt._atof_l
@ cdecl _atoflt(ptr str) msvcr
9
0._atoflt
@ cdecl _atoflt(ptr str) msvcr
10
0._atoflt
@ cdecl _atoflt_l(ptr str ptr) msvcrt._atoflt_l
@ cdecl -ret64 _atoi64(str) msvcrt._atoi64
@ stub _atoi64_l
...
...
@@ -356,9 +356,9 @@
@ cdecl _beep(long long) msvcrt._beep
@ cdecl _beginthread(ptr long ptr) msvcrt._beginthread
@ cdecl _beginthreadex(ptr long ptr ptr long ptr) msvcrt._beginthreadex
@ cdecl _byteswap_uint64(int64) msvcr
9
0._byteswap_uint64
@ cdecl _byteswap_ulong(long) msvcr
9
0._byteswap_ulong
@ cdecl _byteswap_ushort(long) msvcr
9
0._byteswap_ushort
@ cdecl _byteswap_uint64(int64) msvcr
10
0._byteswap_uint64
@ cdecl _byteswap_ulong(long) msvcr
10
0._byteswap_ulong
@ cdecl _byteswap_ushort(long) msvcr
10
0._byteswap_ushort
@ cdecl _c_exit() msvcrt._c_exit
@ cdecl _cabs(long) msvcrt._cabs
@ cdecl _callnewh(long) msvcrt._callnewh
...
...
@@ -426,7 +426,7 @@
@ cdecl _ecvt(double long ptr ptr) msvcrt._ecvt
@ cdecl _ecvt_s(str long double long ptr ptr) msvcrt._ecvt_s
@ cdecl _encode_pointer(ptr) msvcr90._encode_pointer
@ cdecl _encoded_null() msvcr
9
0._encoded_null
@ cdecl _encoded_null() msvcr
10
0._encoded_null
@ cdecl _endthread() msvcrt._endthread
@ cdecl _endthreadex(long) msvcrt._endthreadex
@ extern _environ msvcrt._environ
...
...
@@ -493,10 +493,10 @@
@ cdecl _fseeki64(ptr int64 long) msvcrt._fseeki64
@ stub _fseeki64_nolock
@ cdecl _fsopen(str str long) msvcrt._fsopen
@ cdecl _fstat32(long ptr) msvcr
9
0._fstat32
@ cdecl _fstat32(long ptr) msvcr
10
0._fstat32
@ stub _fstat32i64
@ cdecl _fstat64(long ptr) msvcrt._fstat64
@ cdecl _fstat64i32(long ptr) msvcr
9
0._fstat64i32
@ cdecl _fstat64i32(long ptr) msvcr
10
0._fstat64i32
@ stub _ftell_nolock
@ cdecl -ret64 _ftelli64(ptr) msvcrt._ftelli64
@ stub _ftelli64_nolock
...
...
@@ -589,7 +589,7 @@
@ cdecl -arch=i386 _inpd(long) msvcrt._inpd
@ cdecl -arch=i386 _inpw(long) msvcrt._inpw
@ cdecl _invalid_parameter(wstr wstr wstr long long) msvcrt._invalid_parameter
@ cdecl _invalid_parameter_noinfo() msvcr
9
0._invalid_parameter_noinfo
@ cdecl _invalid_parameter_noinfo() msvcr
10
0._invalid_parameter_noinfo
@ stub _invoke_watson
@ extern _iob msvcrt._iob
@ cdecl _isalnum_l(long ptr) msvcrt._isalnum_l
...
...
@@ -893,7 +893,7 @@
# extern _pwctype
@ cdecl _read(long ptr long) msvcrt._read
@ cdecl _realloc_crt(ptr long) msvcrt.realloc
@ cdecl _recalloc(ptr long long) msvcr
9
0._recalloc
@ cdecl _recalloc(ptr long long) msvcr
10
0._recalloc
@ stub _recalloc_crt
@ cdecl _resetstkoflw() msvcrt._resetstkoflw
@ cdecl _rmdir(str) msvcrt._rmdir
...
...
@@ -979,10 +979,10 @@
@ stub _sprintf_s_l
@ varargs _sscanf_l(str str ptr) msvcrt._sscanf_l
@ varargs _sscanf_s_l(str str ptr) msvcrt._sscanf_s_l
@ cdecl _stat32(str ptr) msvcr
9
0._stat32
@ cdecl _stat32(str ptr) msvcr
10
0._stat32
@ stub _stat32i64
@ cdecl _stat64(str ptr) msvcrt._stat64
@ cdecl _stat64i32(str ptr) msvcr
9
0._stat64i32
@ cdecl _stat64i32(str ptr) msvcr
10
0._stat64i32
@ cdecl _statusfp() msvcrt._statusfp
@ cdecl -arch=i386 _statusfp2(ptr ptr) msvcrt._statusfp2
@ cdecl _strcoll_l(str str ptr) msvcrt._strcoll_l
...
...
@@ -1121,7 +1121,7 @@
@ cdecl _vswprintf_c(ptr long wstr ptr) msvcrt._vswprintf_c
@ cdecl _vswprintf_c_l(ptr long wstr ptr ptr) msvcrt._vswprintf_c_l
@ cdecl _vswprintf_l(ptr wstr ptr ptr) msvcrt._vswprintf_l
@ cdecl _vswprintf_p(ptr long wstr ptr) msvcr
9
0._vswprintf_p
@ cdecl _vswprintf_p(ptr long wstr ptr) msvcr
10
0._vswprintf_p
@ cdecl _vswprintf_p_l(ptr long wstr ptr ptr) msvcrt._vswprintf_p_l
@ cdecl _vswprintf_s_l(ptr long wstr ptr ptr) msvcrt._vswprintf_s_l
@ stub _vwprintf_l
...
...
@@ -1251,10 +1251,10 @@
@ cdecl _wspawnvpe(long wstr ptr ptr) msvcrt._wspawnvpe
@ cdecl _wsplitpath(wstr ptr ptr ptr ptr) msvcrt._wsplitpath
@ cdecl _wsplitpath_s(wstr ptr long ptr long ptr long ptr long) msvcrt._wsplitpath_s
@ cdecl _wstat32(wstr ptr) msvcr
9
0._wstat32
@ cdecl _wstat32(wstr ptr) msvcr
10
0._wstat32
@ stub _wstat32i64
@ cdecl _wstat64(wstr ptr) msvcrt._wstat64
@ cdecl _wstat64i32(wstr ptr) msvcr
9
0._wstat64i32
@ cdecl _wstat64i32(wstr ptr) msvcr
10
0._wstat64i32
@ cdecl _wstrdate(ptr) msvcrt._wstrdate
@ cdecl _wstrdate_s(ptr long) msvcrt._wstrdate_s
@ cdecl _wstrtime(ptr) msvcrt._wstrtime
...
...
dlls/msvcr90/msvcr90.c
View file @
e7944878
...
...
@@ -18,77 +18,11 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <stdarg.h>
#include "stdlib.h"
#include "stdio.h"
#include "errno.h"
#include "malloc.h"
#include "windef.h"
#include "winbase.h"
#include "wine/debug.h"
#include "sys/stat.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
msvcr90
);
#ifdef __i386__
/* thiscall functions are i386-specific */
#define THISCALL(func) __thiscall_ ## func
#define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
#define __thiscall __stdcall
#define DEFINE_THISCALL_WRAPPER(func,args) \
extern void THISCALL(func)(void); \
__ASM_GLOBAL_FUNC(__thiscall_ ## func, \
"popl %eax\n\t" \
"pushl %ecx\n\t" \
"pushl %eax\n\t" \
"jmp " __ASM_NAME(#func) __ASM_STDCALL(args) )
#else
/* __i386__ */
#define THISCALL(func) func
#define THISCALL_NAME(func) __ASM_NAME(#func)
#define __thiscall __cdecl
#define DEFINE_THISCALL_WRAPPER(func,args)
/* nothing */
#endif
/* __i386__ */
struct
__type_info_node
{
void
*
memPtr
;
struct
__type_info_node
*
next
;
};
typedef
struct
__type_info
{
const
void
*
vtable
;
char
*
name
;
/* Unmangled name, allocated lazily */
char
mangled
[
32
];
/* Variable length, but we declare it large enough for static RTTI */
}
type_info
;
typedef
void
*
(
__cdecl
*
malloc_func_t
)(
size_t
);
typedef
void
(
__cdecl
*
free_func_t
)(
void
*
);
extern
char
*
__cdecl
__unDName
(
char
*
,
const
char
*
,
int
,
malloc_func_t
,
free_func_t
,
unsigned
short
int
);
/*********************************************************************
* msvcr90_stat64_to_stat32 [internal]
*/
static
void
msvcr90_stat64_to_stat32
(
const
struct
_stat64
*
buf64
,
struct
_stat32
*
buf
)
{
buf
->
st_dev
=
buf64
->
st_dev
;
buf
->
st_ino
=
buf64
->
st_ino
;
buf
->
st_mode
=
buf64
->
st_mode
;
buf
->
st_nlink
=
buf64
->
st_nlink
;
buf
->
st_uid
=
buf64
->
st_uid
;
buf
->
st_gid
=
buf64
->
st_gid
;
buf
->
st_rdev
=
buf64
->
st_rdev
;
buf
->
st_size
=
buf64
->
st_size
;
buf
->
st_atime
=
buf64
->
st_atime
;
buf
->
st_mtime
=
buf64
->
st_mtime
;
buf
->
st_ctime
=
buf64
->
st_ctime
;
}
/*********************************************************************
* DllMain (MSVCR90.@)
...
...
@@ -128,266 +62,3 @@ void * CDECL MSVCR90_encode_pointer(void * ptr)
{
return
EncodePointer
(
ptr
);
}
/*********************************************************************
* _encoded_null (MSVCR90.@)
*/
void
*
CDECL
_encoded_null
(
void
)
{
TRACE
(
"
\n
"
);
return
MSVCR90_encode_pointer
(
NULL
);
}
/*********************************************************************
* _invalid_parameter_noinfo (MSVCR90.@)
*/
void
CDECL
_invalid_parameter_noinfo
(
void
)
{
_invalid_parameter
(
NULL
,
NULL
,
NULL
,
0
,
0
);
}
/*********************************************************************
* __sys_nerr (MSVCR90.@)
*/
int
*
CDECL
__sys_nerr
(
void
)
{
return
(
int
*
)
GetProcAddress
(
GetModuleHandleA
(
"msvcrt.dll"
),
"_sys_nerr"
);
}
/*********************************************************************
* __sys_errlist (MSVCR90.@)
*/
char
**
CDECL
__sys_errlist
(
void
)
{
return
(
char
**
)
GetProcAddress
(
GetModuleHandleA
(
"msvcrt.dll"
),
"_sys_errlist"
);
}
/*********************************************************************
* __clean_type_info_names_internal (MSVCR90.@)
*/
void
CDECL
__clean_type_info_names_internal
(
void
*
p
)
{
FIXME
(
"(%p) stub
\n
"
,
p
);
}
/*********************************************************************
* _recalloc (MSVCR90.@)
*/
void
*
CDECL
_recalloc
(
void
*
mem
,
size_t
num
,
size_t
size
)
{
size_t
old_size
;
void
*
ret
;
if
(
!
mem
)
return
calloc
(
num
,
size
);
size
=
num
*
size
;
old_size
=
_msize
(
mem
);
ret
=
realloc
(
mem
,
size
);
if
(
!
ret
)
{
*
_errno
()
=
ENOMEM
;
return
NULL
;
}
if
(
size
>
old_size
)
memset
((
BYTE
*
)
ret
+
old_size
,
0
,
size
-
old_size
);
return
ret
;
}
/*********************************************************************
* _fstat32 (MSVCR90.@)
*/
int
CDECL
_fstat32
(
int
fd
,
struct
_stat32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_fstat64
(
fd
,
&
buf64
);
if
(
!
ret
)
msvcr90_stat64_to_stat32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _stat32 (MSVCR90.@)
*/
int
CDECL
_stat32
(
const
char
*
path
,
struct
_stat32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_stat64
(
path
,
&
buf64
);
if
(
!
ret
)
msvcr90_stat64_to_stat32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _wstat32 (MSVCR90.@)
*/
int
CDECL
_wstat32
(
const
wchar_t
*
path
,
struct
_stat32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_wstat64
(
path
,
&
buf64
);
if
(
!
ret
)
msvcr90_stat64_to_stat32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _fstat64i32 (MSVCRT.@)
*/
static
void
msvcrt_stat64_to_stat64i32
(
const
struct
_stat64
*
buf64
,
struct
_stat64i32
*
buf
)
{
buf
->
st_dev
=
buf64
->
st_dev
;
buf
->
st_ino
=
buf64
->
st_ino
;
buf
->
st_mode
=
buf64
->
st_mode
;
buf
->
st_nlink
=
buf64
->
st_nlink
;
buf
->
st_uid
=
buf64
->
st_uid
;
buf
->
st_gid
=
buf64
->
st_gid
;
buf
->
st_rdev
=
buf64
->
st_rdev
;
buf
->
st_size
=
buf64
->
st_size
;
buf
->
st_atime
=
buf64
->
st_atime
;
buf
->
st_mtime
=
buf64
->
st_mtime
;
buf
->
st_ctime
=
buf64
->
st_ctime
;
}
int
CDECL
_fstat64i32
(
int
fd
,
struct
_stat64i32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_fstat64
(
fd
,
&
buf64
);
if
(
!
ret
)
msvcrt_stat64_to_stat64i32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _stat64i32 (MSVCRT.@)
*/
int
CDECL
_stat64i32
(
const
char
*
path
,
struct
_stat64i32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_stat64
(
path
,
&
buf64
);
if
(
!
ret
)
msvcrt_stat64_to_stat64i32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _wstat64i32 (MSVCRT.@)
*/
int
CDECL
_wstat64i32
(
const
wchar_t
*
path
,
struct
_stat64i32
*
buf
)
{
int
ret
;
struct
_stat64
buf64
;
ret
=
_wstat64
(
path
,
&
buf64
);
if
(
!
ret
)
msvcrt_stat64_to_stat64i32
(
&
buf64
,
buf
);
return
ret
;
}
/*********************************************************************
* _atoflt (MSVCR90.@)
*/
int
CDECL
_atoflt
(
_CRT_FLOAT
*
value
,
char
*
str
)
{
return
_atoflt_l
(
value
,
str
,
NULL
);
}
/*********************************************************************
* ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z (MSVCR90.@)
*/
DEFINE_THISCALL_WRAPPER
(
MSVCRT_type_info_name_internal_method
,
8
)
const
char
*
__thiscall
MSVCRT_type_info_name_internal_method
(
type_info
*
_this
,
struct
__type_info_node
*
node
)
{
static
int
once
;
if
(
node
&&
!
once
++
)
FIXME
(
"type_info_node parameter ignored
\n
"
);
if
(
!
_this
->
name
)
{
/* Create and set the demangled name */
/* Note: mangled name in type_info struct always starts with a '.', while
* it isn't valid for mangled name.
* Is this '.' really part of the mangled name, or has it some other meaning ?
*/
char
*
name
=
__unDName
(
0
,
_this
->
mangled
+
1
,
0
,
malloc
,
free
,
0x2800
);
if
(
name
)
{
unsigned
int
len
=
strlen
(
name
);
/* It seems _unDName may leave blanks at the end of the demangled name */
while
(
len
&&
name
[
--
len
]
==
' '
)
name
[
len
]
=
'\0'
;
if
(
InterlockedCompareExchangePointer
((
void
**
)
&
_this
->
name
,
name
,
NULL
))
{
/* Another thread set this member since we checked above - use it */
free
(
name
);
}
}
}
TRACE
(
"(%p) returning %s
\n
"
,
_this
,
_this
->
name
);
return
_this
->
name
;
}
/*********************************************************************
* _CRT_RTC_INIT (MSVCR90.@)
*/
void
*
CDECL
_CRT_RTC_INIT
(
void
*
unk1
,
void
*
unk2
,
int
unk3
,
int
unk4
,
int
unk5
)
{
TRACE
(
"%p %p %x %x %x
\n
"
,
unk1
,
unk2
,
unk3
,
unk4
,
unk5
);
return
NULL
;
}
/*********************************************************************
* _CRT_RTC_INITW (MSVCR90.@)
*/
void
*
CDECL
_CRT_RTC_INITW
(
void
*
unk1
,
void
*
unk2
,
int
unk3
,
int
unk4
,
int
unk5
)
{
TRACE
(
"%p %p %x %x %x
\n
"
,
unk1
,
unk2
,
unk3
,
unk4
,
unk5
);
return
NULL
;
}
/*********************************************************************
* _vswprintf_p (MSVCR90.@)
*/
int
CDECL
MSVCR90__vswprintf_p
(
wchar_t
*
buffer
,
size_t
length
,
const
wchar_t
*
format
,
__ms_va_list
args
)
{
return
_vswprintf_p_l
(
buffer
,
length
,
format
,
NULL
,
args
);
}
/*********************************************************************
* _byteswap_ushort (MSVCR90.@)
*/
unsigned
short
CDECL
_byteswap_ushort
(
unsigned
short
s
)
{
return
(
s
<<
8
)
+
(
s
>>
8
);
}
/*********************************************************************
* _byteswap_ulong (MSVCR90.@)
*/
ULONG
CDECL
_byteswap_ulong
(
ULONG
l
)
{
return
(
l
<<
24
)
+
((
l
<<
8
)
&
0xFF0000
)
+
((
l
>>
8
)
&
0xFF00
)
+
(
l
>>
24
);
}
/*********************************************************************
* _byteswap_uint64 (MSVCR90.@)
*/
unsigned
__int64
CDECL
_byteswap_uint64
(
unsigned
__int64
i
)
{
return
(
i
<<
56
)
+
((
i
&
0xFF00
)
<<
40
)
+
((
i
&
0xFF0000
)
<<
24
)
+
((
i
&
0xFF000000
)
<<
8
)
+
((
i
>>
8
)
&
0xFF000000
)
+
((
i
>>
24
)
&
0xFF0000
)
+
((
i
>>
40
)
&
0xFF00
)
+
(
i
>>
56
);
}
dlls/msvcr90/msvcr90.spec
View file @
e7944878
...
...
@@ -83,8 +83,8 @@
@ cdecl -arch=win64 ?_invalid_parameter@@YAXPEBG00I_K@Z(wstr wstr wstr long long) msvcrt._invalid_parameter
@ stub -arch=win32 ?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z # int __cdecl _is_exception_typeof(class type_info const &,struct _EXCEPTION_POINTERS *)
@ stub -arch=win64 ?_is_exception_typeof@@YAHAEBVtype_info@@PEAU_EXCEPTION_POINTERS@@@Z # int __cdecl _is_exception_typeof(class type_info const & __ptr64,struct _EXCEPTION_POINTERS * __ptr64)
@ thiscall -arch=win32 ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z(ptr ptr)
MSVCRT_type_info_name_internal_method
@ cdecl -arch=win64 ?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z(ptr ptr)
MSVCRT_type_info_name_internal_method
@ thiscall -arch=win32 ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z(ptr ptr)
msvcr100.?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z
@ cdecl -arch=win64 ?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z(ptr ptr)
msvcr100.?_name_internal_method@type_info@@QEBAPEBDPEAU__type_info_node@@@Z
@ varargs -arch=win32 ?_open@@YAHPBDHH@Z(str long) msvcrt._open
@ varargs -arch=win64 ?_open@@YAHPEBDHH@Z(str long) msvcrt._open
@ cdecl -arch=win32 ?_query_new_handler@@YAP6AHI@ZXZ() msvcrt.?_query_new_handler@@YAP6AHI@ZXZ
...
...
@@ -142,8 +142,8 @@
@ cdecl -arch=i386 _CIsqrt() msvcrt._CIsqrt
@ cdecl -arch=i386 _CItan() msvcrt._CItan
@ cdecl -arch=i386 _CItanh() msvcrt._CItanh
@ cdecl _CRT_RTC_INIT(ptr ptr long long long)
@ cdecl _CRT_RTC_INITW(ptr ptr long long long)
@ cdecl _CRT_RTC_INIT(ptr ptr long long long)
msvcr100._CRT_RTC_INIT
@ cdecl _CRT_RTC_INITW(ptr ptr long long long)
msvcr100._CRT_RTC_INITW
@ stub _CreateFrameInfo
@ stdcall _CxxThrowException(long long) msvcrt._CxxThrowException
@ cdecl -i386 -norelay _EH_prolog() msvcrt._EH_prolog
...
...
@@ -194,7 +194,7 @@
@ extern __argc msvcrt.__argc
@ extern __argv msvcrt.__argv
### extern __badioinfo #don't forward to msvcrt.__badioinfo, it has different size
@ cdecl __clean_type_info_names_internal(ptr)
@ cdecl __clean_type_info_names_internal(ptr)
msvcr100.__clean_type_info_names_internal
@ cdecl -arch=i386 __control87_2(long long ptr ptr) msvcrt.__control87_2
@ stub __create_locale
@ cdecl __crtCompareStringA(long long str long str long) msvcrt.__crtCompareStringA
...
...
@@ -286,8 +286,8 @@
@ cdecl __setusermatherr(ptr) msvcrt.__setusermatherr
@ stub __strncnt
@ stub __swprintf_l
@ cdecl __sys_errlist()
@ cdecl __sys_nerr()
@ cdecl __sys_errlist()
msvcr100.__sys_errlist
@ cdecl __sys_nerr()
msvcr100.__sys_nerr
@ cdecl __threadhandle() msvcrt.__threadhandle
@ cdecl __threadid() msvcrt.__threadid
@ cdecl __timezone() msvcrt.__p__timezone
...
...
@@ -337,7 +337,7 @@
@ cdecl _atodbl(ptr str) msvcrt._atodbl
@ stub _atodbl_l
@ cdecl _atof_l(str ptr) msvcrt._atof_l
@ cdecl _atoflt(ptr str)
@ cdecl _atoflt(ptr str)
msvcr100._atoflt
@ cdecl _atoflt_l(ptr str ptr) msvcrt._atoflt_l
@ cdecl -ret64 _atoi64(str) msvcrt._atoi64
@ stub _atoi64_l
...
...
@@ -348,9 +348,9 @@
@ cdecl _beep(long long) msvcrt._beep
@ cdecl _beginthread(ptr long ptr) msvcrt._beginthread
@ cdecl _beginthreadex(ptr long ptr ptr long ptr) msvcrt._beginthreadex
@ cdecl _byteswap_uint64(int64)
@ cdecl _byteswap_ulong(long)
@ cdecl _byteswap_ushort(long)
@ cdecl _byteswap_uint64(int64)
msvcr100._byteswap_uint64
@ cdecl _byteswap_ulong(long)
msvcr100._byteswap_ulong
@ cdecl _byteswap_ushort(long)
msvcr100._byteswap_ushort
@ cdecl _c_exit() msvcrt._c_exit
@ cdecl _cabs(long) msvcrt._cabs
@ cdecl _callnewh(long) msvcrt._callnewh
...
...
@@ -419,7 +419,7 @@
@ cdecl _ecvt(double long ptr ptr) msvcrt._ecvt
@ cdecl _ecvt_s(str long double long ptr ptr) msvcrt._ecvt_s
@ cdecl _encode_pointer(ptr) MSVCR90_encode_pointer
@ cdecl _encoded_null()
@ cdecl _encoded_null()
msvcr100._encoded_null
@ cdecl _endthread() msvcrt._endthread
@ cdecl _endthreadex(long) msvcrt._endthreadex
@ extern _environ msvcrt._environ
...
...
@@ -488,10 +488,10 @@
@ cdecl _fseeki64(ptr int64 long) msvcrt._fseeki64
@ stub _fseeki64_nolock
@ cdecl _fsopen(str str long) msvcrt._fsopen
@ cdecl _fstat32(long ptr)
@ cdecl _fstat32(long ptr)
msvcr100._fstat32
@ stub _fstat32i64
@ cdecl _fstat64(long ptr) msvcrt._fstat64
@ cdecl _fstat64i32(long ptr)
@ cdecl _fstat64i32(long ptr)
msvcr100._fstat64i32
@ stub _ftell_nolock
@ cdecl -ret64 _ftelli64(ptr) msvcrt._ftelli64
@ stub _ftelli64_nolock
...
...
@@ -580,7 +580,7 @@
@ cdecl -arch=i386 _inpd(long) msvcrt._inpd
@ cdecl -arch=i386 _inpw(long) msvcrt._inpw
@ cdecl _invalid_parameter(wstr wstr wstr long long) msvcrt._invalid_parameter
@ cdecl _invalid_parameter_noinfo()
@ cdecl _invalid_parameter_noinfo()
msvcr100._invalid_parameter_noinfo
@ stub _invoke_watson
@ extern _iob msvcrt._iob
@ cdecl _isalnum_l(long ptr) msvcrt._isalnum_l
...
...
@@ -885,7 +885,7 @@
# extern _pwctype
@ cdecl _read(long ptr long) msvcrt._read
@ cdecl _realloc_crt(ptr long) msvcrt.realloc
@ cdecl _recalloc(ptr long long)
@ cdecl _recalloc(ptr long long)
msvcr100._recalloc
@ stub _recalloc_crt
@ cdecl _resetstkoflw() msvcrt._resetstkoflw
@ cdecl _rmdir(str) msvcrt._rmdir
...
...
@@ -972,10 +972,10 @@
@ stub _sprintf_s_l
@ varargs _sscanf_l(str str ptr) msvcrt._sscanf_l
@ varargs _sscanf_s_l(str str ptr) msvcrt._sscanf_s_l
@ cdecl _stat32(str ptr)
@ cdecl _stat32(str ptr)
msvcr100._stat32
@ stub _stat32i64
@ cdecl _stat64(str ptr) msvcrt._stat64
@ cdecl _stat64i32(str ptr)
@ cdecl _stat64i32(str ptr)
msvcr100._stat64i32
@ cdecl _statusfp() msvcrt._statusfp
@ cdecl -arch=i386 _statusfp2(ptr ptr) msvcrt._statusfp2
@ cdecl _strcoll_l(str str ptr) msvcrt._strcoll_l
...
...
@@ -1115,7 +1115,7 @@
@ cdecl _vswprintf_c(ptr long wstr ptr) msvcrt._vswprintf_c
@ cdecl _vswprintf_c_l(ptr long wstr ptr ptr) msvcrt._vswprintf_c_l
@ cdecl _vswprintf_l(ptr wstr ptr ptr) msvcrt._vswprintf_l
@ cdecl _vswprintf_p(ptr long wstr ptr)
MSVCR90_
_vswprintf_p
@ cdecl _vswprintf_p(ptr long wstr ptr)
msvcr100.
_vswprintf_p
@ cdecl _vswprintf_p_l(ptr long wstr ptr ptr) msvcrt._vswprintf_p_l
@ cdecl _vswprintf_s_l(ptr long wstr ptr ptr) msvcrt._vswprintf_s_l
@ stub _vwprintf_l
...
...
@@ -1242,10 +1242,10 @@
@ cdecl _wspawnvpe(long wstr ptr ptr) msvcrt._wspawnvpe
@ cdecl _wsplitpath(wstr ptr ptr ptr ptr) msvcrt._wsplitpath
@ cdecl _wsplitpath_s(wstr ptr long ptr long ptr long ptr long) msvcrt._wsplitpath_s
@ cdecl _wstat32(wstr ptr)
@ cdecl _wstat32(wstr ptr)
msvcr100._wstat32
@ stub _wstat32i64
@ cdecl _wstat64(wstr ptr) msvcrt._wstat64
@ cdecl _wstat64i32(wstr ptr)
@ cdecl _wstat64i32(wstr ptr)
msvcr100._wstat64i32
@ cdecl _wstrdate(ptr) msvcrt._wstrdate
@ cdecl _wstrdate_s(ptr long) msvcrt._wstrdate_s
@ cdecl _wstrtime(ptr) msvcrt._wstrtime
...
...
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