diff options
author | Stef Walter <stef@memberwebs.com> | 2006-01-26 23:37:19 +0000 |
---|---|---|
committer | Stef Walter <stef@memberwebs.com> | 2006-01-26 23:37:19 +0000 |
commit | 9c8a8ccc7d56b905a48aefc1c6c936d336514d74 (patch) | |
tree | a6fa225fdfdfd9ad68d54a693cc820b0f99368f6 /src/common | |
parent | f9a49bea3da1f6e366fafc860b89a7963b3e1853 (diff) |
RRD Updating code.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/stringx.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/common/stringx.c b/src/common/stringx.c index 89deb9b..37a3df9 100644 --- a/src/common/stringx.c +++ b/src/common/stringx.c @@ -122,3 +122,34 @@ strlcpy(char *dst, const char *src, size_t len) *dst = '\0'; return (ret); } + +size_t strlcat(char* dst, const char* src, size_t siz) +{ + 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 */ +} |