(file) Return to strlcat.h CVS log (file) (dir) Up to [OMI] / omi / pal

File: [OMI] / omi / pal / strlcat.h (download)
Revision: 1.1, Mon Apr 20 17:19:55 2015 UTC (9 years ago) by krisbash
Branch: MAIN
CVS Tags: OMI_1_0_8_2, OMI_1_0_8_1, HEAD
OMI 1.0.8-1

#if !defined(SRC) || !defined(STRLCAT)
# error "internal file: do not include!"
#endif

size_t STRLCAT(
    _Inout_updates_z_(size) DEST* dest, 
    _In_z_ const SRC* src, 
    size_t size)
{
    const SRC* start = src;

    if (size)
    {
        DEST* end = dest + size - 1;

        while (*dest && dest != end)
            dest++;

        while (*src && dest != end)
            *dest++ = (DEST)*src++;

        *dest = '\0';
    }

    while (*src)
        src++;

    return src - start;
}

ViewCVS 0.9.2