summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorStef Walter <stef@memberwebs.com>2006-01-26 23:37:19 +0000
committerStef Walter <stef@memberwebs.com>2006-01-26 23:37:19 +0000
commit9c8a8ccc7d56b905a48aefc1c6c936d336514d74 (patch)
treea6fa225fdfdfd9ad68d54a693cc820b0f99368f6 /src/common
parentf9a49bea3da1f6e366fafc860b89a7963b3e1853 (diff)
RRD Updating code.
Diffstat (limited to 'src/common')
-rw-r--r--src/common/stringx.c31
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 */
+}