[MSVC] MSVC declares non-standard prototype of the wcstok()
-----------------------------------------------------------
Key: STDCXX-663
URL: https://issues.apache.org/jira/browse/STDCXX-663
Project: C++ Standard Library
Issue Type: Bug
Components: External
Environment: MSVC, ICC/Windows
Reporter: Farid Zaripov
Assignee: Farid Zaripov
Priority: Minor
Fix For: 4.2.1
The MSVC declares non-standard prototype of the wcstok():
wchar.h:
-----------
_CRTIMP wchar_t * __cdecl wcstok(wchar_t *, const wchar_t *);
-----------
Since configuration script doesn't check the correct prototype and checks only for name, the
config.h file contains _RWSTD_NO_WCSTOK macro undefined.
The MSVC 8 and higher declares wcstok_s() which is identical to standard wcstok():
wchar.h:
-----------
_CRTIMP_ALTERNATIVE __checkReturn wchar_t * __cdecl wcstok_s(__inout_z_opt wchar_t * _Str,
__in_z const wchar_t * _Delim, __deref_inout_z_opt wchar_t ** _Context);
-----------
I think we need to #define _RWSTD_NO_WCSTOK macro in include/rw/_config_msvcrt.h and add inline
wcstok() invoking wcstok_s() in include /ansi/cwchar.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|