[PATCH] include: Update wcstok declarations.
Daniel Lehman
dlehman25 at gmail.com
Fri Feb 21 00:40:24 CST 2020
Signed-off-by: Daniel Lehman <dlehman25 at gmail.com>
---
follow-up to 31c57484ab5927fa61489fb607aeb023e9fb1b1b for winelib
---
include/msvcrt/string.h | 16 +++++++++++++++-
include/msvcrt/wchar.h | 16 +++++++++++++++-
include/tchar.h | 2 +-
3 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/include/msvcrt/string.h b/include/msvcrt/string.h
index f8bc40fb2a..a8bf04d5b4 100644
--- a/include/msvcrt/string.h
+++ b/include/msvcrt/string.h
@@ -119,8 +119,22 @@ _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(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
diff --git a/include/msvcrt/wchar.h b/include/msvcrt/wchar.h
index 0b7be92174..c406e35701 100644
--- a/include/msvcrt/wchar.h
+++ b/include/msvcrt/wchar.h
@@ -174,8 +174,22 @@ 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(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);
diff --git a/include/tchar.h b/include/tchar.h
index e14aaf3884..9fc4c72099 100644
--- a/include/tchar.h
+++ b/include/tchar.h
@@ -148,7 +148,7 @@ extern "C" {
#define _tcsspn WINE_tchar_routine(strspn, _mbsspn, wcsspn)
#define _tcsstr WINE_tchar_routine(strstr, _mbsstr, wcsstr)
#define _tcstod WINE_tchar_routine(strtod, strtod, wcstod)
-#define _tcstok WINE_tchar_routine(strtok, _mbstok, wcstok)
+#define _tcstok WINE_tchar_routine(strtok, _mbstok, _wcstok)
#define _tcstol WINE_tchar_routine(strtol, strtol, wcstol)
#define _tcstoul WINE_tchar_routine(strtoul, strtoul, wcstoul)
#define _tcsupr WINE_tchar_routine(_strupr, _mbsupr, _wcsupr)
--
2.17.1
More information about the wine-devel
mailing list