You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Farid Zaripov (JIRA)" <ji...@apache.org> on 2007/11/12 15:17:50 UTC

[jira] Updated: (STDCXX-663) [MSVC] MSVC declares non-standard prototype of the wcstok()

     [ https://issues.apache.org/jira/browse/STDCXX-663?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Farid Zaripov updated STDCXX-663:
---------------------------------

    Attachment: wcstok.patch

The proposed patch is attached.

> [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
>
>         Attachments: wcstok.patch
>
>
> 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.