msvcr110: Share the source code with msvcrt.

This commit is contained in:
Piotr Caban 2014-04-17 13:07:21 +02:00 committed by Alexandre Julliard
parent 4d40aea0bd
commit b7c5e341ae
7 changed files with 1276 additions and 1293 deletions

View File

@ -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

View File

@ -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

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -28,7 +28,6 @@ my @dll_groups =
( (
[ [
"msvcrt", "msvcrt",
"msvcr110",
"msvcirt", "msvcirt",
"msvcr80", "msvcr80",
"msvcr71", "msvcr71",