mirror of
https://github.com/reactos/reactos.git
synced 2026-05-31 08:17:09 +08:00
[MSVCRT-OLD] Delete old msvcrt
This commit is contained in:
@@ -1,45 +0,0 @@
|
||||
|
||||
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/crt/include)
|
||||
spec2def(msvcrt.dll msvcrt.spec ADD_IMPORTLIB)
|
||||
|
||||
# Let consumers of msvcrt have the right defines
|
||||
target_compile_definitions(libmsvcrt INTERFACE _DLL __USE_CRTIMP)
|
||||
# Embed msvcrtex into libmsvcrt
|
||||
target_sources(libmsvcrt PRIVATE $<TARGET_OBJECTS:msvcrtex>)
|
||||
|
||||
# Embed RTC libs
|
||||
if (STACK_PROTECTOR)
|
||||
target_sources(libmsvcrt PRIVATE $<TARGET_OBJECTS:gcc_ssp_msvcrt>)
|
||||
target_link_libraries(libmsvcrt INTERFACE libkernel32) # For OutputDebugStringA
|
||||
endif()
|
||||
|
||||
add_definitions(
|
||||
-DUSE_MSVCRT_PREFIX
|
||||
-D_MSVCRT_
|
||||
-D_MSVCRT_LIB_
|
||||
-D_MT
|
||||
-D_CTYPE_DISABLE_MACROS
|
||||
-D_NO_INLINING
|
||||
-DCRTDLL
|
||||
-D__MINGW_IMPORT="")
|
||||
|
||||
list(APPEND SOURCE
|
||||
dllmain.c
|
||||
stubs.c
|
||||
msvcrt.rc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/msvcrt_stubs.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/msvcrt.def)
|
||||
|
||||
add_library(msvcrt MODULE ${SOURCE})
|
||||
set_module_type(msvcrt win32dll ENTRYPOINT DllMain 12)
|
||||
add_dependencies(msvcrt psdk)
|
||||
target_link_libraries(msvcrt crt vcruntime cpprt wine ${PSEH_LIB})
|
||||
|
||||
if(MSVC)
|
||||
# export of deleting destructor "name"
|
||||
target_link_options(msvcrt PRIVATE "/ignore:4102")
|
||||
set_property(TARGET libmsvcrt APPEND PROPERTY STATIC_LIBRARY_OPTIONS "/ignore:4102")
|
||||
endif()
|
||||
|
||||
add_importlibs(msvcrt kernel32 ntdll)
|
||||
add_cd_file(TARGET msvcrt DESTINATION reactos/system32 FOR all)
|
||||
@@ -1,113 +0,0 @@
|
||||
/*
|
||||
* dllmain.c
|
||||
*
|
||||
* ReactOS MSVCRT.DLL Compatibility Library
|
||||
*
|
||||
* THIS SOFTWARE IS NOT COPYRIGHTED
|
||||
*
|
||||
* This source code is offered for use in the public domain. You may
|
||||
* use, modify or distribute it freely.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful but
|
||||
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
||||
* DISCLAMED. This includes but is not limited to warranties of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
|
||||
|
||||
/* EXTERNAL PROTOTYPES ********************************************************/
|
||||
|
||||
BOOL crt_process_init(void);
|
||||
|
||||
extern void FreeEnvironment(char **environment);
|
||||
|
||||
#undef _environ
|
||||
extern char** _environ; /* pointer to environment block */
|
||||
extern char** __initenv; /* pointer to initial environment block */
|
||||
extern wchar_t** _wenviron; /* pointer to environment block */
|
||||
extern wchar_t** __winitenv; /* pointer to initial environment block */
|
||||
extern void msvcrt_init_exception(void*) DECLSPEC_HIDDEN;
|
||||
|
||||
/* LIBRARY ENTRY POINT ********************************************************/
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved)
|
||||
{
|
||||
switch (dwReason)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
|
||||
TRACE("Process Attach\n");
|
||||
|
||||
msvcrt_init_exception(hinstDll);
|
||||
|
||||
if (!crt_process_init())
|
||||
{
|
||||
ERR("crt_init() failed!\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
TRACE("Attach done\n");
|
||||
break;
|
||||
|
||||
case DLL_THREAD_ATTACH:
|
||||
//msvcrt_get_thread_data creates data when first called
|
||||
break;
|
||||
|
||||
case DLL_THREAD_DETACH:
|
||||
msvcrt_free_tls_mem();
|
||||
break;
|
||||
|
||||
case DLL_PROCESS_DETACH:
|
||||
TRACE("Detach\n");
|
||||
/* Deinit of the WINE code */
|
||||
msvcrt_free_io();
|
||||
if (reserved) break;
|
||||
msvcrt_free_popen_data();
|
||||
msvcrt_free_mt_locks();
|
||||
//msvcrt_free_console();
|
||||
//msvcrt_free_args();
|
||||
//msvcrt_free_signals();
|
||||
msvcrt_free_tls_mem();
|
||||
if (!msvcrt_free_tls())
|
||||
return FALSE;
|
||||
if(global_locale)
|
||||
MSVCRT__free_locale(global_locale);
|
||||
|
||||
if (__winitenv && __winitenv != _wenviron)
|
||||
FreeEnvironment((char**)__winitenv);
|
||||
if (_wenviron)
|
||||
FreeEnvironment((char**)_wenviron);
|
||||
|
||||
if (__initenv && __initenv != _environ)
|
||||
FreeEnvironment(__initenv);
|
||||
if (_environ)
|
||||
FreeEnvironment(_environ);
|
||||
|
||||
TRACE("Detach done\n");
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* FIXME: This hack is required to prevent the VC linker from linking these
|
||||
exports to the functions from libntdll. See CORE-10753 */
|
||||
#ifdef _MSC_VER
|
||||
#ifdef _M_IX86
|
||||
#pragma comment(linker, "/include:__vsnprintf")
|
||||
#pragma comment(linker, "/include:_bsearch")
|
||||
#pragma comment(linker, "/include:_strcspn")
|
||||
#else
|
||||
#pragma comment(linker, "/include:_vsnprintf")
|
||||
#pragma comment(linker, "/include:bsearch")
|
||||
#pragma comment(linker, "/include:strcspn")
|
||||
#endif // _M_IX86
|
||||
#endif // _MSC_VER
|
||||
|
||||
/* EOF */
|
||||
@@ -1,8 +0,0 @@
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS C Runtime Library"
|
||||
#define REACTOS_STR_INTERNAL_NAME "msvcrt"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "msvcrt.dll"
|
||||
|
||||
#define REACTOS_FILEVERSION 7,0,2600,2180
|
||||
#define REACTOS_FILEVERSION_STR "7.0.2600"
|
||||
|
||||
#include <reactos/version.rc>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,17 +0,0 @@
|
||||
#ifndef _CRT_PRECOMP_H
|
||||
#define _CRT_PRECOMP_H
|
||||
|
||||
#define WIN32_NO_STATUS
|
||||
|
||||
//#include <stdio.h>
|
||||
//#include <stdlib.h>
|
||||
//#include <locale.h>
|
||||
//#include <mbctype.h>
|
||||
#include <internal/wine/msvcrt.h>
|
||||
#include <internal/tls.h>
|
||||
#include <internal/locale.h>
|
||||
//#include <windows.h>
|
||||
|
||||
#include <wine/debug.h>
|
||||
|
||||
#endif /* _CRT_PRECOMP_H */
|
||||
@@ -1,922 +0,0 @@
|
||||
|
||||
#include <windef.h>
|
||||
#include <stubs.h>
|
||||
|
||||
#undef UNIMPLEMENTED
|
||||
#define UNIMPLEMENTED __wine_spec_unimplemented_stub("msvcrt.dll", __FUNCTION__)
|
||||
|
||||
int __get_app_type()
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _fileinfo = -1;
|
||||
|
||||
void *
|
||||
__p__fileinfo()
|
||||
{
|
||||
return &_fileinfo;
|
||||
}
|
||||
|
||||
unsigned char _mbcasemap[1];
|
||||
|
||||
void *
|
||||
__p__mbcasemap()
|
||||
{
|
||||
return _mbcasemap;
|
||||
}
|
||||
|
||||
int _atodbl(
|
||||
void * value,
|
||||
char * str)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _ismbbkprint(
|
||||
unsigned int c)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
size_t _heapused( size_t *pUsed, size_t *pCommit )
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
#ifdef _M_IX86
|
||||
int MSVCRT__inp(
|
||||
unsigned short port)
|
||||
{
|
||||
return _inp(port);
|
||||
}
|
||||
|
||||
unsigned short MSVCRT__inpw(
|
||||
unsigned short port)
|
||||
{
|
||||
return _inpw(port);
|
||||
}
|
||||
|
||||
unsigned long MSVCRT__inpd(
|
||||
unsigned short port)
|
||||
{
|
||||
return _inpd(port);
|
||||
}
|
||||
|
||||
|
||||
int MSVCRT__outp(
|
||||
unsigned short port,
|
||||
int databyte)
|
||||
{
|
||||
return _outp(port, databyte);
|
||||
}
|
||||
|
||||
unsigned short MSVCRT__outpw(
|
||||
unsigned short port,
|
||||
unsigned short dataword)
|
||||
{
|
||||
return _outpw(port, dataword);
|
||||
}
|
||||
|
||||
unsigned long MSVCRT__outpd(
|
||||
unsigned short port,
|
||||
unsigned long dataword)
|
||||
{
|
||||
return _outpd(port, dataword);
|
||||
}
|
||||
#endif
|
||||
|
||||
typedef struct __crt_locale_data_public
|
||||
{
|
||||
unsigned short const* _locale_pctype;
|
||||
_Field_range_(1, 2) int _locale_mb_cur_max;
|
||||
unsigned int _locale_lc_codepage;
|
||||
} __crt_locale_data_public;
|
||||
|
||||
static
|
||||
__crt_locale_data_public*
|
||||
__CRTDECL
|
||||
__acrt_get_locale_data_prefix(
|
||||
void const volatile* const _LocalePointers)
|
||||
{
|
||||
_locale_t const _TypedLocalePointers = (_locale_t)_LocalePointers;
|
||||
return (__crt_locale_data_public*)_TypedLocalePointers->locinfo;
|
||||
}
|
||||
|
||||
static
|
||||
int
|
||||
__CRTDECL
|
||||
__acrt_locale_get_ctype_array_value(
|
||||
_In_reads_(_Char_value + 1) unsigned short const * const locale_pctype_array,
|
||||
_In_range_(-1, 255) int const c,
|
||||
_In_ int const mask
|
||||
)
|
||||
{
|
||||
if (c >= -1 && c <= 255)
|
||||
{
|
||||
return locale_pctype_array[c] & mask;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
const unsigned short* __cdecl __pctype_func(void);
|
||||
|
||||
#if defined _CRT_DISABLE_PERFCRIT_LOCKS && !defined _DLL
|
||||
#define __PCTYPE_FUNC _pctype
|
||||
#else
|
||||
#define __PCTYPE_FUNC __pctype_func()
|
||||
#endif
|
||||
|
||||
#ifdef _DEBUG
|
||||
_ACRTIMP int __cdecl _chvalidator(_In_ int c, _In_ int mask);
|
||||
#define __chvalidchk(a, b) _chvalidator(a, b)
|
||||
#else
|
||||
#define __chvalidchk(a, b) (__acrt_locale_get_ctype_array_value(__PCTYPE_FUNC, (a), (b)))
|
||||
#endif
|
||||
|
||||
static
|
||||
int
|
||||
__CRTDECL
|
||||
_chvalidchk_l(
|
||||
_In_ int const c,
|
||||
_In_ int const mask,
|
||||
_In_opt_ _locale_t const locale
|
||||
)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
return _chvalidator_l(locale, c, mask);
|
||||
#else
|
||||
if (locale)
|
||||
{
|
||||
return __acrt_locale_get_ctype_array_value(__acrt_get_locale_data_prefix(locale)->_locale_pctype, c, mask);
|
||||
}
|
||||
|
||||
return __chvalidchk(c, mask);
|
||||
#endif
|
||||
}
|
||||
|
||||
static
|
||||
int
|
||||
__CRTDECL
|
||||
_ischartype_l(
|
||||
_In_ int const c,
|
||||
_In_ int const mask,
|
||||
_In_opt_ _locale_t const locale)
|
||||
{
|
||||
if (locale)
|
||||
{
|
||||
if (c >= -1 && c <= 255)
|
||||
{
|
||||
return __acrt_get_locale_data_prefix(locale)->_locale_pctype[c] & mask;
|
||||
}
|
||||
|
||||
if (__acrt_get_locale_data_prefix(locale)->_locale_mb_cur_max > 1)
|
||||
{
|
||||
return _isctype_l(c, mask, locale);
|
||||
}
|
||||
|
||||
return 0; // >0xFF and SBCS locale
|
||||
}
|
||||
|
||||
return _chvalidchk_l(c, mask, 0);
|
||||
}
|
||||
|
||||
//#undef _isalnum_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_isalnum_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _ALPHA | _DIGIT, locale);
|
||||
}
|
||||
|
||||
#undef _isalpha_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_isalpha_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _ALPHA, locale);
|
||||
}
|
||||
|
||||
#undef _iscntrl_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iscntrl_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _CONTROL, locale);
|
||||
}
|
||||
|
||||
#undef _isdigit_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_isdigit_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _DIGIT, locale);
|
||||
}
|
||||
|
||||
#undef _isgraph_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_isgraph_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _PUNCT | _ALPHA | _DIGIT, locale);
|
||||
}
|
||||
|
||||
#undef _islower_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_islower_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _LOWER, locale);
|
||||
}
|
||||
|
||||
#undef _isprint_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_isprint_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _BLANK | _PUNCT | _ALPHA | _DIGIT, locale);
|
||||
}
|
||||
|
||||
#undef _isspace_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_isspace_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _SPACE, locale);
|
||||
}
|
||||
|
||||
#undef _isupper_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_isupper_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _UPPER, locale);
|
||||
}
|
||||
|
||||
#undef _iswalnum_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswalnum_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c, _ALPHA|_DIGIT, locale);
|
||||
}
|
||||
|
||||
#undef _iswalpha_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswalpha_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c, _ALPHA, locale);
|
||||
}
|
||||
|
||||
#undef _iswcntrl_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswcntrl_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return _iswctype_l(c, _CONTROL, locale);
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswctype_l(
|
||||
_In_ wint_t c,
|
||||
_In_ wctype_t type,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#undef _iswdigit_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswdigit_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c, _DIGIT, locale);
|
||||
}
|
||||
|
||||
#undef _iswgraph_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswgraph_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c, _PUNCT | _ALPHA | _DIGIT, locale);
|
||||
}
|
||||
|
||||
#undef _iswlower_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswlower_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c , _LOWER, locale);
|
||||
}
|
||||
|
||||
#undef _iswprint_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswprint_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c, _BLANK | _PUNCT | _ALPHA | _DIGIT, locale);
|
||||
}
|
||||
|
||||
#undef _iswpunct_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswpunct_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c, _PUNCT, locale);
|
||||
}
|
||||
|
||||
#undef _iswspace_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswspace_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c, _SPACE, locale);
|
||||
}
|
||||
|
||||
#undef _iswupper_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswupper_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c, _UPPER, locale);
|
||||
}
|
||||
|
||||
#undef _iswxdigit_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_iswxdigit_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _iswctype_l(c, _HEX, locale);
|
||||
}
|
||||
|
||||
#undef _isxdigit_l
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_isxdigit_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
return _ischartype_l(c, _HEX, locale);
|
||||
}
|
||||
|
||||
_Must_inspect_result_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_memicmp_l(
|
||||
_In_reads_bytes_opt_(size) const void *buf1,
|
||||
_In_reads_bytes_opt_(size) const void *buf2,
|
||||
_In_ size_t size,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_strcoll_l(
|
||||
_In_z_ const char *str1,
|
||||
_In_z_ const char *str2,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_stricmp_l(
|
||||
_In_z_ const char *str1,
|
||||
_In_z_ const char *str2,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_stricoll_l(
|
||||
_In_z_ const char *str1,
|
||||
_In_z_ const char *str2,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_strlwr_s(
|
||||
_Inout_updates_z_(size) char *str,
|
||||
_In_ size_t size)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_strlwr_s_l(
|
||||
_Inout_updates_z_(size) char *str,
|
||||
_In_ size_t size,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_strncoll_l(
|
||||
_In_z_ const char *str1,
|
||||
_In_z_ const char *str2,
|
||||
_In_ size_t maxcount,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_strnicmp_l(
|
||||
_In_reads_or_z_(maxcount) const char *str1,
|
||||
_In_reads_or_z_(maxcount) const char *str2,
|
||||
_In_ size_t maxcount,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_strnicoll_l(
|
||||
_In_z_ const char *str1,
|
||||
_In_z_ const char *str2,
|
||||
_In_ size_t maxcount,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_strnset_s(
|
||||
_Inout_updates_z_(size) char *str,
|
||||
_In_ size_t size,
|
||||
_In_ int val,
|
||||
_In_ size_t _MaxCount)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_CRTIMP
|
||||
char*
|
||||
_strupr_l(
|
||||
char *str,
|
||||
_locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
wint_t
|
||||
__cdecl
|
||||
_towlower_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
wint_t
|
||||
__cdecl
|
||||
_towupper_l(
|
||||
_In_ wint_t c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_CRTIMP
|
||||
wchar_t*
|
||||
_wcslwr_l(
|
||||
wchar_t *str,
|
||||
_locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_CRTIMP
|
||||
wchar_t*
|
||||
_wcsupr_l(
|
||||
wchar_t *str,
|
||||
_locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_opt_
|
||||
_CRTIMP
|
||||
size_t
|
||||
__cdecl
|
||||
_wcsxfrm_l(
|
||||
_Out_writes_opt_(maxcount) _Post_maybez_ wchar_t *dst,
|
||||
_In_z_ const wchar_t *src,
|
||||
_In_ size_t maxcount,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_strset_s(
|
||||
_Inout_updates_z_(size) char *dst,
|
||||
_In_ size_t size,
|
||||
_In_ int val)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_strupr_s(
|
||||
_Inout_updates_z_(size) char *str,
|
||||
_In_ size_t size)
|
||||
{
|
||||
return _strupr_s_l(str, size, 0);
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_strupr_s_l(
|
||||
_Inout_updates_z_(_Size) char *str,
|
||||
_In_ size_t size,
|
||||
_locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return ENOTSUP;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_tolower_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_toupper_l(
|
||||
_In_ int c,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_wcscoll_l(
|
||||
_In_z_ const wchar_t *str1,
|
||||
_In_z_ const wchar_t *str2,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_wcsicmp_l(
|
||||
_In_z_ const wchar_t *str1,
|
||||
_In_z_ const wchar_t *str2,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_wcsicoll_l(
|
||||
_In_z_ const wchar_t *str1,
|
||||
_In_z_ const wchar_t *str2,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_wcslwr_s(
|
||||
_Inout_updates_z_(sizeInWords) wchar_t *str,
|
||||
_In_ size_t sizeInWords)
|
||||
{
|
||||
return _wcslwr_s_l(str, sizeInWords, NULL);
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_wcslwr_s_l(
|
||||
_Inout_updates_z_(sizeInWords) wchar_t *str,
|
||||
_In_ size_t sizeInWords,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return ENOTSUP;
|
||||
}
|
||||
|
||||
typedef size_t rsize_t;
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP // _ACRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
strncat_s(
|
||||
_Inout_updates_z_(size) char* dest,
|
||||
_In_ rsize_t size,
|
||||
_In_reads_or_z_(maxCount) char const* src,
|
||||
_In_ rsize_t maxCount)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return ENOTSUP;
|
||||
}
|
||||
|
||||
_Check_return_opt_
|
||||
_CRTIMP
|
||||
_CRT_INSECURE_DEPRECATE(vsnprintf_s)
|
||||
int
|
||||
__cdecl
|
||||
vsnprintf_(
|
||||
_Out_writes_(maxCount) char *dst,
|
||||
_In_ size_t maxCount,
|
||||
_In_z_ _Printf_format_string_ const char *format,
|
||||
va_list argptr)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_wcsnicoll_l(
|
||||
_In_z_ const wchar_t *str1,
|
||||
_In_z_ const wchar_t *str2,
|
||||
_In_ size_t maxCount,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_wcsnicmp_l(
|
||||
_In_reads_or_z_(_MaxCount) const wchar_t *str1,
|
||||
_In_reads_or_z_(_MaxCount) const wchar_t *str2,
|
||||
_In_ size_t maxCount,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_
|
||||
_CRTIMP
|
||||
int
|
||||
__cdecl
|
||||
_wcsncoll_l(
|
||||
_In_z_ const wchar_t *str1,
|
||||
_In_z_ const wchar_t *str2,
|
||||
_In_ size_t maxCount,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_strerror_s(
|
||||
_Out_writes_z_(_SizeInBytes) char *buf,
|
||||
_In_ size_t sizeInBytes,
|
||||
_In_opt_z_ const char *errMsg)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_wcsnset_s(
|
||||
_Inout_updates_z_(_DstSizeInWords) wchar_t *dst,
|
||||
_In_ size_t sizeInWords,
|
||||
_In_ wchar_t val,
|
||||
_In_ size_t maxCount)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_wcsset_s(
|
||||
_Inout_updates_z_(_SizeInWords) wchar_t *str,
|
||||
_In_ size_t sizeInWords,
|
||||
_In_ wchar_t val)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_wat_
|
||||
_CRTIMP
|
||||
errno_t
|
||||
__cdecl
|
||||
_wcsupr_s_l(
|
||||
_Inout_updates_z_(_Size) wchar_t *str,
|
||||
_In_ size_t size,
|
||||
_In_opt_ _locale_t locale)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
_Check_return_opt_
|
||||
_CRTIMP
|
||||
_CRT_INSECURE_DEPRECATE(vsnprintf_s)
|
||||
int
|
||||
__cdecl
|
||||
vsnprintf(
|
||||
_Out_writes_(_MaxCount) char *dest,
|
||||
_In_ size_t maxCount,
|
||||
_In_z_ _Printf_format_string_ const char *format,
|
||||
va_list argptr)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user