Header And Logo

PostgreSQL
| The world's most advanced open source database.

Functions

strlcat.c File Reference

#include "c.h"
Include dependency graph for strlcat.c:

Go to the source code of this file.

Functions

size_t strlcat (char *dst, const char *src, size_t siz)

Function Documentation

size_t strlcat ( char *  dst,
const char *  src,
size_t  siz 
)

Definition at line 33 of file strlcat.c.

Referenced by CreateLockFile(), get_prompt(), show_pgxs(), and validate_exec().

{
    char       *d = dst;
    const char *s = src;
    size_t      n = siz;
    size_t      dlen;

    /* Find the end of dst and adjust bytes left but don't go past end */
    while (n-- != 0 && *d != '\0')
        d++;
    dlen = d - dst;
    n = siz - dlen;

    if (n == 0)
        return (dlen + strlen(s));
    while (*s != '\0')
    {
        if (n != 1)
        {
            *d++ = *s;
            n--;
        }
        s++;
    }
    *d = '\0';

    return (dlen + (s - src));  /* count does not include NUL */
}