include: Add corecrt_wstring.h header.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6b6c3ec728
commit
e52ca3d68b
|
@ -429,6 +429,7 @@ SOURCES = \
|
|||
msvcrt/corecrt_wio.h \
|
||||
msvcrt/corecrt_wstdio.h \
|
||||
msvcrt/corecrt_wstdlib.h \
|
||||
msvcrt/corecrt_wstring.h \
|
||||
msvcrt/corecrt_wtime.h \
|
||||
msvcrt/crtdbg.h \
|
||||
msvcrt/crtdefs.h \
|
||||
|
|
|
@ -0,0 +1,88 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the Wine project.
|
||||
*/
|
||||
|
||||
#ifndef _WSTRING_DEFINED
|
||||
#define _WSTRING_DEFINED
|
||||
|
||||
#include <corecrt.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _CRT_MEMORY_DEFINED
|
||||
#define _CRT_MEMORY_DEFINED
|
||||
_ACRTIMP void* __cdecl memchr(const void*,int,size_t);
|
||||
_ACRTIMP int __cdecl memcmp(const void*,const void*,size_t);
|
||||
_ACRTIMP void* __cdecl memcpy(void*,const void*,size_t);
|
||||
_ACRTIMP errno_t __cdecl memcpy_s(void*,size_t,const void*,size_t);
|
||||
_ACRTIMP void* __cdecl memset(void*,int,size_t);
|
||||
_ACRTIMP void* __cdecl _memccpy(void*,const void*,int,unsigned int);
|
||||
_ACRTIMP int __cdecl _memicmp(const void*,const void*,unsigned int);
|
||||
|
||||
static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
|
||||
static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
|
||||
#endif /* _CRT_MEMORY_DEFINED */
|
||||
|
||||
_ACRTIMP void* __cdecl memmove(void*,const void*,size_t);
|
||||
|
||||
_ACRTIMP wchar_t* __cdecl _wcsdup(const wchar_t*);
|
||||
_ACRTIMP int __cdecl _wcsicmp(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP int __cdecl _wcsicoll(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP int __cdecl _wcsicoll_l(const wchar_t*, const wchar_t*, _locale_t);
|
||||
_ACRTIMP wchar_t* __cdecl _wcslwr(wchar_t*);
|
||||
_ACRTIMP errno_t __cdecl _wcslwr_s(wchar_t*, size_t);
|
||||
_ACRTIMP int __cdecl _wcscoll_l(const wchar_t*, const wchar_t*, _locale_t);
|
||||
_ACRTIMP int __cdecl _wcsncoll(const wchar_t*, const wchar_t*, size_t);
|
||||
_ACRTIMP int __cdecl _wcsncoll_l(const wchar_t*, const wchar_t*, size_t, _locale_t);
|
||||
_ACRTIMP int __cdecl _wcsnicmp(const wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP int __cdecl _wcsnicoll(const wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP int __cdecl _wcsnicoll_l(const wchar_t*, const wchar_t*, size_t, _locale_t);
|
||||
_ACRTIMP size_t __cdecl _wcsnlen(const wchar_t*,size_t);
|
||||
_ACRTIMP wchar_t* __cdecl _wcsnset(wchar_t*,wchar_t,size_t);
|
||||
_ACRTIMP wchar_t* __cdecl _wcsrev(wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl _wcsset(wchar_t*,wchar_t);
|
||||
_ACRTIMP wchar_t* __cdecl _wcsupr(wchar_t*);
|
||||
_ACRTIMP errno_t __cdecl _wcsupr_s(wchar_t*, size_t);
|
||||
|
||||
_ACRTIMP wchar_t* __cdecl wcscat(wchar_t*,const wchar_t*);
|
||||
_ACRTIMP errno_t __cdecl wcscat_s(wchar_t*,size_t,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcschr(const wchar_t*,wchar_t);
|
||||
_ACRTIMP int __cdecl wcscmp(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP int __cdecl wcscoll(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcscpy(wchar_t*,const wchar_t*);
|
||||
_ACRTIMP errno_t __cdecl wcscpy_s(wchar_t*,size_t,const wchar_t*);
|
||||
_ACRTIMP size_t __cdecl wcscspn(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP size_t __cdecl wcslen(const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcsncat(wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP int __cdecl wcsncmp(const wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP wchar_t* __cdecl wcsncpy(wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP errno_t __cdecl wcsncpy_s(wchar_t*,size_t,const wchar_t*,size_t);
|
||||
_ACRTIMP size_t __cdecl wcsnlen(const wchar_t*,size_t);
|
||||
_ACRTIMP wchar_t* __cdecl wcspbrk(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcsrchr(const wchar_t*,wchar_t wcFor);
|
||||
_ACRTIMP size_t __cdecl wcsspn(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcsstr(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcstok_s(wchar_t*,const wchar_t*,wchar_t**);
|
||||
_ACRTIMP size_t __cdecl wcsxfrm(wchar_t*,const wchar_t*,size_t);
|
||||
|
||||
#ifdef _UCRT
|
||||
_ACRTIMP wchar_t* __cdecl wcstok(wchar_t*,const wchar_t*,wchar_t**);
|
||||
static inline wchar_t* _wcstok(wchar_t* str, const wchar_t *delim) { return wcstok(str, delim, NULL); }
|
||||
# ifdef __cplusplus
|
||||
extern "C++" inline wchar_t* wcstok(wchar_t* str, const wchar_t *delim) { return wcstok(str, delim, NULL); }
|
||||
# elif defined(_CRT_NON_CONFORMING_WCSTOK)
|
||||
# define wcstok _wcstok
|
||||
# endif
|
||||
#else /* _UCRT */
|
||||
_ACRTIMP wchar_t* __cdecl wcstok(wchar_t*,const wchar_t*);
|
||||
# define _wcstok wcstok
|
||||
#endif /* _UCRT */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _WSTRING_DEFINED */
|
|
@ -8,7 +8,7 @@
|
|||
#ifndef __WINE_STRING_H
|
||||
#define __WINE_STRING_H
|
||||
|
||||
#include <corecrt.h>
|
||||
#include <corecrt_wstring.h>
|
||||
|
||||
#ifndef _NLSCMP_DEFINED
|
||||
#define _NLSCMPERROR ((unsigned int)0x7fffffff)
|
||||
|
@ -19,20 +19,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _CRT_MEMORY_DEFINED
|
||||
#define _CRT_MEMORY_DEFINED
|
||||
_ACRTIMP void* __cdecl memchr(const void*,int,size_t);
|
||||
_ACRTIMP int __cdecl memcmp(const void*,const void*,size_t);
|
||||
_ACRTIMP void* __cdecl memcpy(void*,const void*,size_t);
|
||||
_ACRTIMP errno_t __cdecl memcpy_s(void*,size_t,const void*,size_t);
|
||||
_ACRTIMP void* __cdecl memset(void*,int,size_t);
|
||||
_ACRTIMP void* __cdecl _memccpy(void*,const void*,int,unsigned int);
|
||||
_ACRTIMP int __cdecl _memicmp(const void*,const void*,unsigned int);
|
||||
|
||||
static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
|
||||
static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
|
||||
#endif /* _CRT_MEMORY_DEFINED */
|
||||
|
||||
_ACRTIMP int __cdecl _strcmpi(const char*,const char*);
|
||||
_ACRTIMP int __cdecl _strcoll_l(const char*, const char*, _locale_t);
|
||||
_ACRTIMP char* __cdecl _strdup(const char*);
|
||||
|
@ -54,7 +40,6 @@ _ACRTIMP char* __cdecl _strset(char*,int);
|
|||
_ACRTIMP char* __cdecl _strupr(char*);
|
||||
_ACRTIMP errno_t __cdecl _strupr_s(char *, size_t);
|
||||
|
||||
_ACRTIMP void* __cdecl memmove(void*,const void*,size_t);
|
||||
_ACRTIMP errno_t __cdecl memmove_s(void*,size_t,const void*,size_t);
|
||||
_ACRTIMP char* __cdecl strcat(char*,const char*);
|
||||
_ACRTIMP errno_t __cdecl strcat_s(char*,size_t,const char*);
|
||||
|
@ -80,63 +65,6 @@ _ACRTIMP char* __cdecl strtok(char*,const char*);
|
|||
_ACRTIMP char* __cdecl strtok_s(char*,const char*,char**);
|
||||
_ACRTIMP size_t __cdecl strxfrm(char*,const char*,size_t);
|
||||
|
||||
#ifndef _WSTRING_DEFINED
|
||||
#define _WSTRING_DEFINED
|
||||
_ACRTIMP wchar_t* __cdecl _wcsdup(const wchar_t*);
|
||||
_ACRTIMP int __cdecl _wcsicmp(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP int __cdecl _wcsicoll(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP int __cdecl _wcsicoll_l(const wchar_t*, const wchar_t*, _locale_t);
|
||||
_ACRTIMP wchar_t* __cdecl _wcslwr(wchar_t*);
|
||||
_ACRTIMP errno_t __cdecl _wcslwr_s(wchar_t*, size_t);
|
||||
_ACRTIMP int __cdecl _wcscoll_l(const wchar_t*, const wchar_t*, _locale_t);
|
||||
_ACRTIMP int __cdecl _wcsncoll(const wchar_t*, const wchar_t*, size_t);
|
||||
_ACRTIMP int __cdecl _wcsncoll_l(const wchar_t*, const wchar_t*, size_t, _locale_t);
|
||||
_ACRTIMP int __cdecl _wcsnicmp(const wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP int __cdecl _wcsnicoll(const wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP int __cdecl _wcsnicoll_l(const wchar_t*, const wchar_t*, size_t, _locale_t);
|
||||
_ACRTIMP size_t __cdecl _wcsnlen(const wchar_t*,size_t);
|
||||
_ACRTIMP wchar_t* __cdecl _wcsnset(wchar_t*,wchar_t,size_t);
|
||||
_ACRTIMP wchar_t* __cdecl _wcsrev(wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl _wcsset(wchar_t*,wchar_t);
|
||||
_ACRTIMP wchar_t* __cdecl _wcsupr(wchar_t*);
|
||||
_ACRTIMP errno_t __cdecl _wcsupr_s(wchar_t*, size_t);
|
||||
|
||||
_ACRTIMP wchar_t* __cdecl wcscat(wchar_t*,const wchar_t*);
|
||||
_ACRTIMP errno_t __cdecl wcscat_s(wchar_t*,size_t,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcschr(const wchar_t*,wchar_t);
|
||||
_ACRTIMP int __cdecl wcscmp(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP int __cdecl wcscoll(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcscpy(wchar_t*,const wchar_t*);
|
||||
_ACRTIMP errno_t __cdecl wcscpy_s(wchar_t*,size_t,const wchar_t*);
|
||||
_ACRTIMP size_t __cdecl wcscspn(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP size_t __cdecl wcslen(const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcsncat(wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP int __cdecl wcsncmp(const wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP wchar_t* __cdecl wcsncpy(wchar_t*,const wchar_t*,size_t);
|
||||
_ACRTIMP errno_t __cdecl wcsncpy_s(wchar_t*,size_t,const wchar_t*,size_t);
|
||||
_ACRTIMP size_t __cdecl wcsnlen(const wchar_t*,size_t);
|
||||
_ACRTIMP wchar_t* __cdecl wcspbrk(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcsrchr(const wchar_t*,wchar_t wcFor);
|
||||
_ACRTIMP size_t __cdecl wcsspn(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcsstr(const wchar_t*,const wchar_t*);
|
||||
_ACRTIMP wchar_t* __cdecl wcstok_s(wchar_t*,const wchar_t*,wchar_t**);
|
||||
_ACRTIMP size_t __cdecl wcsxfrm(wchar_t*,const wchar_t*,size_t);
|
||||
|
||||
#ifdef _UCRT
|
||||
_ACRTIMP wchar_t* __cdecl wcstok(wchar_t*,const wchar_t*,wchar_t**);
|
||||
static inline wchar_t* _wcstok(wchar_t* str, const wchar_t *delim) { return wcstok(str, delim, NULL); }
|
||||
# ifdef __cplusplus
|
||||
extern "C++" inline wchar_t* wcstok(wchar_t* str, const wchar_t *delim) { return wcstok(str, delim, NULL); }
|
||||
# elif defined(_CRT_NON_CONFORMING_WCSTOK)
|
||||
# define wcstok _wcstok
|
||||
# endif
|
||||
#else /* _UCRT */
|
||||
_ACRTIMP wchar_t* __cdecl wcstok(wchar_t*,const wchar_t*);
|
||||
# define _wcstok wcstok
|
||||
#endif /* _UCRT */
|
||||
|
||||
#endif /* _WSTRING_DEFINED */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
#include <corecrt_wio.h>
|
||||
#include <corecrt_wstdio.h>
|
||||
#include <corecrt_wstdlib.h>
|
||||
#include <corecrt_wstring.h>
|
||||
#include <corecrt_wtime.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -62,63 +62,6 @@ int __cdecl _wspawnvpe(int,const wchar_t*,const wchar_t* const *,const wcha
|
|||
int __cdecl _wsystem(const wchar_t*);
|
||||
#endif /* _WPROCESS_DEFINED */
|
||||
|
||||
#ifndef _WSTRING_DEFINED
|
||||
#define _WSTRING_DEFINED
|
||||
int __cdecl _wcscoll_l(const wchar_t*,const wchar_t*,_locale_t);
|
||||
wchar_t* __cdecl _wcsdup(const wchar_t*);
|
||||
int __cdecl _wcsicmp(const wchar_t*,const wchar_t*);
|
||||
int __cdecl _wcsicoll(const wchar_t*,const wchar_t*);
|
||||
int __cdecl _wcsicoll_l(const wchar_t*,const wchar_t*,_locale_t);
|
||||
wchar_t* __cdecl _wcslwr(wchar_t*);
|
||||
errno_t __cdecl _wcslwr_s(wchar_t*, size_t);
|
||||
int __cdecl _wcsncoll(const wchar_t*,const wchar_t*,size_t);
|
||||
int __cdecl _wcsncoll_l(const wchar_t*,const wchar_t*,size_t,_locale_t);
|
||||
int __cdecl _wcsnicmp(const wchar_t*,const wchar_t*,size_t);
|
||||
int __cdecl _wcsnicoll(const wchar_t*,const wchar_t*,size_t);
|
||||
int __cdecl _wcsnicoll_l(const wchar_t*,const wchar_t*,size_t,_locale_t);
|
||||
wchar_t* __cdecl _wcsnset(wchar_t*,wchar_t,size_t);
|
||||
wchar_t* __cdecl _wcsrev(wchar_t*);
|
||||
wchar_t* __cdecl _wcsset(wchar_t*,wchar_t);
|
||||
wchar_t* __cdecl _wcsupr(wchar_t*);
|
||||
errno_t __cdecl _wcsupr_s(wchar_t*, size_t);
|
||||
|
||||
wchar_t* __cdecl wcscat(wchar_t*,const wchar_t*);
|
||||
errno_t __cdecl wcscat_s(wchar_t*,size_t,const wchar_t*);
|
||||
wchar_t* __cdecl wcschr(const wchar_t*,wchar_t);
|
||||
int __cdecl wcscmp(const wchar_t*,const wchar_t*);
|
||||
int __cdecl wcscoll(const wchar_t*,const wchar_t*);
|
||||
wchar_t* __cdecl wcscpy(wchar_t*,const wchar_t*);
|
||||
errno_t __cdecl wcscpy_s(wchar_t*,size_t,const wchar_t*);
|
||||
size_t __cdecl wcscspn(const wchar_t*,const wchar_t*);
|
||||
size_t __cdecl wcslen(const wchar_t*);
|
||||
wchar_t* __cdecl wcsncat(wchar_t*,const wchar_t*,size_t);
|
||||
errno_t __cdecl wcsncat_s(wchar_t *, size_t, const wchar_t *, size_t);
|
||||
int __cdecl wcsncmp(const wchar_t*,const wchar_t*,size_t);
|
||||
wchar_t* __cdecl wcsncpy(wchar_t*,const wchar_t*,size_t);
|
||||
errno_t __cdecl wcsncpy_s(wchar_t*,size_t,const wchar_t*,size_t);
|
||||
size_t __cdecl wcsnlen(const size_t*,size_t);
|
||||
wchar_t* __cdecl wcspbrk(const wchar_t*,const wchar_t*);
|
||||
wchar_t* __cdecl wcsrchr(const wchar_t*,wchar_t wcFor);
|
||||
size_t __cdecl wcsspn(const wchar_t*,const wchar_t*);
|
||||
wchar_t* __cdecl wcsstr(const wchar_t*,const wchar_t*);
|
||||
wchar_t* __cdecl wcstok_s(wchar_t*,const wchar_t*,wchar_t**);
|
||||
size_t __cdecl wcsxfrm(wchar_t*,const wchar_t*,size_t);
|
||||
|
||||
#ifdef _UCRT
|
||||
wchar_t* __cdecl wcstok(wchar_t*,const wchar_t*,wchar_t**);
|
||||
static inline wchar_t* _wcstok(wchar_t* str, const wchar_t *delim) { return wcstok(str, delim, NULL); }
|
||||
# ifdef __cplusplus
|
||||
extern "C++" inline wchar_t* wcstok(wchar_t* str, const wchar_t *delim) { return wcstok(str, delim, NULL); }
|
||||
# elif defined(_CRT_NON_CONFORMING_WCSTOK)
|
||||
# define wcstok _wcstok
|
||||
# endif
|
||||
#else /* _UCRT */
|
||||
wchar_t* __cdecl wcstok(wchar_t*,const wchar_t*);
|
||||
# define _wcstok wcstok
|
||||
#endif /* _UCRT */
|
||||
|
||||
#endif /* _WSTRING_DEFINED */
|
||||
|
||||
wchar_t __cdecl btowc(int);
|
||||
size_t __cdecl mbrlen(const char *,size_t,mbstate_t*);
|
||||
size_t __cdecl mbrtowc(wchar_t*,const char*,size_t,mbstate_t*);
|
||||
|
|
Loading…
Reference in New Issue