[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.

Reply via email to