[PATCH 1/2] msvcrt: Add missing declarations.
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Thu Aug 1 21:20:30 CDT 2019
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
include/msvcrt/mbstring.h | 2 ++
include/msvcrt/stdlib.h | 8 ++++++++
include/msvcrt/string.h | 4 ++++
include/msvcrt/wchar.h | 11 +++++++++++
4 files changed, 25 insertions(+)
diff --git a/include/msvcrt/mbstring.h b/include/msvcrt/mbstring.h
index 7a40f7b4cb..f9b106b753 100644
--- a/include/msvcrt/mbstring.h
+++ b/include/msvcrt/mbstring.h
@@ -75,6 +75,7 @@ int __cdecl _mbsicoll(const unsigned char*,const unsigned char*);
unsigned char* __cdecl _mbsinc(const unsigned char*);
size_t __cdecl _mbslen(const unsigned char*);
unsigned char* __cdecl _mbslwr(unsigned char*);
+errno_t __cdecl _mbslwr_s(unsigned char*, size_t);
unsigned char* __cdecl _mbsnbcat(unsigned char*,const unsigned char*,size_t);
errno_t __cdecl _mbsnbcat_s(unsigned char*,size_t,const unsigned char*,size_t);
int __cdecl _mbsnbcmp(const unsigned char*,const unsigned char*,size_t);
@@ -104,6 +105,7 @@ unsigned char* __cdecl _mbsstr(const unsigned char*,const unsigned char*);
unsigned char* __cdecl _mbstok(unsigned char*,const unsigned char*);
unsigned char* __cdecl _mbstok_l(unsigned char*,const unsigned char*,_locale_t);
unsigned char* __cdecl _mbsupr(unsigned char*);
+errno_t __cdecl _mbsupr_s(unsigned char*, size_t);
#ifndef _MBLEADTRAIL_DEFINED
#define _MBLEADTRAIL_DEFINED
diff --git a/include/msvcrt/stdlib.h b/include/msvcrt/stdlib.h
index 3454b17c93..47a50bc0af 100644
--- a/include/msvcrt/stdlib.h
+++ b/include/msvcrt/stdlib.h
@@ -159,10 +159,13 @@ char* __cdecl _ecvt(double,int,int*,int*);
char* __cdecl _fcvt(double,int,int*,int*);
char* __cdecl _fullpath(char*,const char*,size_t);
char* __cdecl _gcvt(double,int,char*);
+errno_t __cdecl _gcvt_s(char*, size_t, double, int);
char* __cdecl _i64toa(__int64,char*,int);
+errno_t __cdecl _i64toa_s(__int64, char*, size_t, int);
char* __cdecl _itoa(int,char*,int);
errno_t __cdecl _itoa_s(int,char*,size_t,int);
char* __cdecl _ltoa(__msvcrt_long,char*,int);
+errno_t __cdecl _ltoa_s(__msvcrt_long, char*, size_t, int);
__msvcrt_ulong __cdecl _lrotl(__msvcrt_ulong,int);
__msvcrt_ulong __cdecl _lrotr(__msvcrt_ulong,int);
void __cdecl _makepath(char*,const char*,const char*,const char*,const char*);
@@ -232,10 +235,15 @@ void __cdecl qsort(void*,size_t,size_t,int (__cdecl *)(const void*,cons
#ifndef _WSTDLIB_DEFINED
#define _WSTDLIB_DEFINED
wchar_t* __cdecl _itow(int,wchar_t*,int);
+errno_t __cdecl _itow_s(int,wchar_t*,int, int);
wchar_t* __cdecl _i64tow(__int64,wchar_t*,int);
+errno_t __cdecl _i64tow_s(__int64, wchar_t*, size_t, int);
wchar_t* __cdecl _ltow(__msvcrt_long,wchar_t*,int);
+errno_t __cdecl _ltow_s(__msvcrt_long,wchar_t*,int,int);
wchar_t* __cdecl _ui64tow(unsigned __int64,wchar_t*,int);
+errno_t __cdecl _ui64tow_s(unsigned __int64, wchar_t*, size_t, int);
wchar_t* __cdecl _ultow(__msvcrt_ulong,wchar_t*,int);
+errno_t __cdecl _ultow_s(__msvcrt_ulong, wchar_t*, size_t, int);
wchar_t* __cdecl _wfullpath(wchar_t*,const wchar_t*,size_t);
wchar_t* __cdecl _wgetenv(const wchar_t*);
void __cdecl _wmakepath(wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*);
diff --git a/include/msvcrt/string.h b/include/msvcrt/string.h
index 39a0296204..85ba38a58e 100644
--- a/include/msvcrt/string.h
+++ b/include/msvcrt/string.h
@@ -95,16 +95,19 @@ 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 _wcscoll_l(const wchar_t*, const wchar_t*, _locale_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);
+size_t __cdecl _wcsnlen(const wchar_t*,size_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*);
@@ -119,6 +122,7 @@ wchar_t* __cdecl wcsncat(wchar_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 wchar_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*);
diff --git a/include/msvcrt/wchar.h b/include/msvcrt/wchar.h
index 78df974f9a..b944cdeea9 100644
--- a/include/msvcrt/wchar.h
+++ b/include/msvcrt/wchar.h
@@ -392,13 +392,19 @@ static inline int WINAPIV swprintf(wchar_t *buffer, size_t size, const wchar_t *
#ifndef _WSTDLIB_DEFINED
#define _WSTDLIB_DEFINED
wchar_t* __cdecl _itow(int,wchar_t*,int);
+errno_t __cdecl _itow_s(int,wchar_t*,int, int);
wchar_t* __cdecl _i64tow(__int64,wchar_t*,int);
+errno_t __cdecl _i64tow_s(__int64, wchar_t*, size_t, int);
wchar_t* __cdecl _ltow(__msvcrt_long,wchar_t*,int);
+errno_t __cdecl _ltow_s(__msvcrt_long,wchar_t*,int,int);
wchar_t* __cdecl _ui64tow(unsigned __int64,wchar_t*,int);
+errno_t __cdecl _ui64tow_s(unsigned __int64, wchar_t*, size_t, int);
wchar_t* __cdecl _ultow(__msvcrt_ulong,wchar_t*,int);
+errno_t __cdecl _ultow_s(__msvcrt_ulong, wchar_t*, size_t, int);
wchar_t* __cdecl _wfullpath(wchar_t*,const wchar_t*,size_t);
wchar_t* __cdecl _wgetenv(const wchar_t*);
void __cdecl _wmakepath(wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*);
+int __cdecl _wmakepath_s(wchar_t*,size_t,const wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*);
void __cdecl _wperror(const wchar_t*);
int __cdecl _wputenv(const wchar_t*);
void __cdecl _wsearchenv(const wchar_t*,const wchar_t*,wchar_t*);
@@ -431,6 +437,7 @@ 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);
@@ -440,6 +447,7 @@ 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*);
@@ -451,9 +459,11 @@ 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*);
@@ -515,6 +525,7 @@ static inline wchar_t* __cdecl wmemcpy(wchar_t *dst, const wchar_t *src, size_t
{
return memcpy(dst, src, n * sizeof(wchar_t));
}
+errno_t __cdecl wmemcpy_s(wchar_t *, size_t, const wchar_t *, size_t);
static inline wchar_t* __cdecl wmemmove(wchar_t *dst, const wchar_t *src, size_t n)
{
--
2.17.1
More information about the wine-devel
mailing list