Exemplo n.º 1
0
_WCRTLINK CHAR_TYPE *__F_NAME(strncat,wcsncat) ( CHAR_TYPE *dst, const CHAR_TYPE *t, size_t n )
{
#if defined( _M_I86 ) && !defined(__WIDECHAR__)
    if( n ) {
        return( _fast_strncat( dst, t, n ) );
    }
    return( dst );
#else
    CHAR_TYPE   *s;

#ifdef __WIDECHAR__
    s = dst + wcslen( dst );
#else
    s = memchr( dst, NULLCHAR, ~0u );
#endif
    while( n != 0 ) {
        *s = *t;
        if( *s == NULLCHAR )
            break;
        ++s;
        ++t;
        --n;
    }
    *s = NULLCHAR;
    return( dst );
#endif
}
Exemplo n.º 2
0
_WCRTLINK char _WCFAR *_fstrncat( char _WCFAR *dst, const char _WCFAR *t, size_t n )
    {
#ifdef M_I86
        if( n ) {
            return( _fast_strncat( dst, t, n ) );
        }
        return( dst );
#else
        char _WCFAR *s;

        s = _fmemchr( dst, '\0', ~0 );
        while( n != 0 ) {
            *s = *t;
            if( *s == '\0' ) break;
            ++s;
            ++t;
            --n;
        }
        *s = '\0';
        return( dst );
#endif
    }