Back to index

tor  0.2.3.18-rc
Functions
strlcat.c File Reference
#include <sys/types.h>
#include <string.h>
This graph shows which files directly or indirectly include this file:

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 45 of file strlcat.c.

{
       register char *d = dst;
       register const char *s = src;
       register 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 */
}