VirtualBox

Changeset 95767 in vbox


Ignore:
Timestamp:
Jul 20, 2022 7:40:31 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
152477
Message:

nocrt/string.h,strpbrk.cpp: Added missing strpbrk proto and synced up the implementation with it in NOCRT mode. Added a few other prototypes to make our code and windows SDK headers happy, will implement functions as needed. bugref:10261

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/nocrt/string.h

    r93137 r95767  
    5555size_t  RT_NOCRT(strlen)(const char *psz);
    5656size_t  RT_NOCRT(strnlen)(const char *psz, size_t cch);
     57size_t  RT_NOCRT(strcspn)(const char *psz, const char *pszBreakChars);
     58char *  RT_NOCRT(strpbrk)(const char *psz, const char *pszBreakChars);
    5759char *  RT_NOCRT(strstr)(const char *psz, const char *pszSub);
     60
     61size_t  RT_NOCRT(wcslen)(const wchar_t *pwsz);
     62wchar_t *RT_NOCRT(wcscat)(wchar_t *pwszDst, const wchar_t *pwszSrc);
     63wchar_t *RT_NOCRT(wcschr)(const wchar_t *pwszDst, wchar_t wc);
     64wchar_t *RT_NOCRT(wcscpy)(wchar_t *pwszDst, const wchar_t *pwszSrc);
     65int     RT_NOCRT(_wcsicmp)(const wchar_t *pwsz1, const wchar_t *pwsz2);
    5866
    5967#if !defined(RT_WITHOUT_NOCRT_WRAPPERS) && !defined(RT_WITHOUT_NOCRT_WRAPPER_ALIASES)
     
    6573# define memmove  RT_NOCRT(memmove)
    6674# define memset   RT_NOCRT(memset)
     75
    6776# define strcat   RT_NOCRT(strcat)
    6877# define strncat  RT_NOCRT(strncat)
     
    7887# define strlen   RT_NOCRT(strlen)
    7988# define strnlen  RT_NOCRT(strnlen)
     89# define strcspn  RT_NOCRT(strcspn)
     90# define strpbrk  RT_NOCRT(strpbrk)
    8091# define strstr   RT_NOCRT(strstr)
     92
     93# define wcslen   RT_NOCRT(wcslen)
     94# define wcscat   RT_NOCRT(wcscat)
     95# define wcschr   RT_NOCRT(wcschr)
     96# define wcscpy   RT_NOCRT(wcscpy)
     97# define _wcsicmp RT_NOCRT(_wcsicmp)
    8198#endif
    8299
  • trunk/src/VBox/Runtime/common/string/strpbrk.cpp

    r93115 r95767  
    3737 * @returns
    3838 */
    39 #ifdef _MSC_VER
     39#ifdef IPRT_NO_CRT
     40char *strpbrk(const char *pszStr, const char *pszBreakChars)
     41#elif defined(_MSC_VER)
    4042# if _MSC_VER >= 1400
    41 _CRTIMP __checkReturn _CONST_RETURN char *  __cdecl strpbrk(__in_z const char *pszStr, __in_z const char *pszChars)
     43_CRTIMP __checkReturn _CONST_RETURN char *  __cdecl strpbrk(__in_z const char *pszStr, __in_z const char *pszBreakChars)
    4244# else
    43 _CRTIMP char * __cdecl strpbrk(const char *pszStr, const char *pszChars)
     45_CRTIMP char * __cdecl strpbrk(const char *pszStr, const char *pszBreakChars)
    4446# endif
    4547#elif defined(__WATCOMC__)
    46 _WCRTLINK char *std::strpbrk(const char *pszStr, const char *pszChars)
     48_WCRTLINK char *std::strpbrk(const char *pszStr, const char *pszBreakChars)
    4749#else
    48 char *strpbrk(const char *pszStr, const char *pszChars)
     50char *strpbrk(const char *pszStr, const char *pszBreakChars)
    4951# if defined(__THROW) && !defined(RT_OS_WINDOWS) && !defined(RT_OS_OS2)
    5052    __THROW
     
    5557    while ((chCur = *pszStr++) != '\0')
    5658    {
    57         int ch;
    58         const char *psz = pszChars;
    59         while ((ch = *psz++) != '\0')
    60             if (ch == chCur)
     59        int chBreak;
     60        const char *psz = pszBreakChars;
     61        while ((chBreak = *psz++) != '\0')
     62            if (chBreak == chCur)
    6163                return (char *)(pszStr - 1);
    6264
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette