msvcr110: Share the source code with msvcrt.
This commit is contained in:
parent
4d40aea0bd
commit
b7c5e341ae
|
@ -1,6 +1,34 @@
|
||||||
|
EXTRADEFS = -D_MT -D_MSVCR_VER=110
|
||||||
MODULE = msvcr110.dll
|
MODULE = msvcr110.dll
|
||||||
IMPORTLIB = msvcr110
|
IMPORTLIB = msvcr110
|
||||||
IMPORTS = msvcrt
|
DELAYIMPORTS = advapi32 user32
|
||||||
|
PARENTSRC = ../msvcrt
|
||||||
|
|
||||||
C_SRCS = \
|
C_SRCS = \
|
||||||
msvcr110.c
|
console.c \
|
||||||
|
cpp.c \
|
||||||
|
ctype.c \
|
||||||
|
data.c \
|
||||||
|
dir.c \
|
||||||
|
environ.c \
|
||||||
|
errno.c \
|
||||||
|
except.c \
|
||||||
|
except_arm.c \
|
||||||
|
except_i386.c \
|
||||||
|
except_x86_64.c \
|
||||||
|
exit.c \
|
||||||
|
file.c \
|
||||||
|
heap.c \
|
||||||
|
locale.c \
|
||||||
|
lock.c \
|
||||||
|
main.c \
|
||||||
|
math.c \
|
||||||
|
mbcs.c \
|
||||||
|
misc.c \
|
||||||
|
process.c \
|
||||||
|
scanf.c \
|
||||||
|
string.c \
|
||||||
|
thread.c \
|
||||||
|
time.c \
|
||||||
|
undname.c \
|
||||||
|
wcs.c
|
||||||
|
|
|
@ -1,72 +0,0 @@
|
||||||
/*
|
|
||||||
* msvcr110 specific functions
|
|
||||||
*
|
|
||||||
* Copyright 2013 Stefan Leichter
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
|
||||||
|
|
||||||
#include "stdlib.h"
|
|
||||||
#include "windef.h"
|
|
||||||
#include "winbase.h"
|
|
||||||
#include "wine/debug.h"
|
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
* DllMain (MSVCR110.@)
|
|
||||||
*/
|
|
||||||
BOOL WINAPI DllMain(HINSTANCE hdll, DWORD reason, LPVOID reserved)
|
|
||||||
{
|
|
||||||
switch (reason)
|
|
||||||
{
|
|
||||||
case DLL_WINE_PREATTACH:
|
|
||||||
return FALSE; /* prefer native version */
|
|
||||||
|
|
||||||
case DLL_PROCESS_ATTACH:
|
|
||||||
DisableThreadLibraryCalls(hdll);
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
* __crtSetUnhandledExceptionFilter (MSVCR110.@)
|
|
||||||
*/
|
|
||||||
LPTOP_LEVEL_EXCEPTION_FILTER CDECL MSVCR110__crtSetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER filter)
|
|
||||||
{
|
|
||||||
return SetUnhandledExceptionFilter(filter);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
* __crtGetShowWindowMode (MSVCR110.@)
|
|
||||||
*/
|
|
||||||
int CDECL MSVCR110__crtGetShowWindowMode(void)
|
|
||||||
{
|
|
||||||
STARTUPINFOW si;
|
|
||||||
|
|
||||||
GetStartupInfoW(&si);
|
|
||||||
TRACE("window=%d\n", si.wShowWindow);
|
|
||||||
return si.wShowWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
* __crtTerminateProcess (MSVCR110.@)
|
|
||||||
*/
|
|
||||||
int CDECL MSVCR110__crtTerminateProcess(UINT exit_code)
|
|
||||||
{
|
|
||||||
return TerminateProcess(GetCurrentProcess(), exit_code);
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
|
@ -314,3 +314,11 @@ void CDECL __security_error_handler(int code, void *data)
|
||||||
|
|
||||||
MSVCRT__exit(3);
|
MSVCRT__exit(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* __crtSetUnhandledExceptionFilter (MSVCR110.@)
|
||||||
|
*/
|
||||||
|
LPTOP_LEVEL_EXCEPTION_FILTER CDECL MSVCR110__crtSetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER filter)
|
||||||
|
{
|
||||||
|
return SetUnhandledExceptionFilter(filter);
|
||||||
|
}
|
||||||
|
|
|
@ -403,3 +403,15 @@ unsigned __int64 CDECL _byteswap_uint64(unsigned __int64 i)
|
||||||
return (i<<56) + ((i&0xFF00)<<40) + ((i&0xFF0000)<<24) + ((i&0xFF000000)<<8) +
|
return (i<<56) + ((i&0xFF00)<<40) + ((i&0xFF0000)<<24) + ((i&0xFF000000)<<8) +
|
||||||
((i>>8)&0xFF000000) + ((i>>24)&0xFF0000) + ((i>>40)&0xFF00) + (i>>56);
|
((i>>8)&0xFF000000) + ((i>>24)&0xFF0000) + ((i>>40)&0xFF00) + (i>>56);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* __crtGetShowWindowMode (MSVCR110.@)
|
||||||
|
*/
|
||||||
|
int CDECL MSVCR110__crtGetShowWindowMode(void)
|
||||||
|
{
|
||||||
|
STARTUPINFOW si;
|
||||||
|
|
||||||
|
GetStartupInfoW(&si);
|
||||||
|
TRACE("window=%d\n", si.wShowWindow);
|
||||||
|
return si.wShowWindow;
|
||||||
|
}
|
||||||
|
|
|
@ -1323,3 +1323,11 @@ int CDECL _getpid(void)
|
||||||
{
|
{
|
||||||
return GetCurrentProcessId();
|
return GetCurrentProcessId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* __crtTerminateProcess (MSVCR110.@)
|
||||||
|
*/
|
||||||
|
int CDECL MSVCR110__crtTerminateProcess(UINT exit_code)
|
||||||
|
{
|
||||||
|
return TerminateProcess(GetCurrentProcess(), exit_code);
|
||||||
|
}
|
||||||
|
|
|
@ -28,7 +28,6 @@ my @dll_groups =
|
||||||
(
|
(
|
||||||
[
|
[
|
||||||
"msvcrt",
|
"msvcrt",
|
||||||
"msvcr110",
|
|
||||||
"msvcirt",
|
"msvcirt",
|
||||||
"msvcr80",
|
"msvcr80",
|
||||||
"msvcr71",
|
"msvcr71",
|
||||||
|
|
Loading…
Reference in New Issue