From c8ba9280fafe518ada8a6d2a545d6afa2b2dbe23 Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Thu, 8 Nov 2012 22:00:06 +0100 Subject: kern/string: implement strlcpy --- kern/string.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'kern/string.c') diff --git a/kern/string.c b/kern/string.c index 82bcd2f1..2122af6a 100644 --- a/kern/string.c +++ b/kern/string.c @@ -121,6 +121,24 @@ strcpy(char *dest, const char *src) return tmp; } +size_t +strlcpy(char *dest, const char *src, size_t n) +{ + size_t len; + + len = strlen(src); + + if (n == 0) + goto out; + + n = (len < n) ? len : n - 1; + memcpy(dest, src, n); + dest[n] = '\0'; + +out: + return len; +} + int strcmp(const char *s1, const char *s2) { -- cgit v1.2.3