diff options
author | Richard Braun <rbraun@sceen.net> | 2012-11-08 22:00:06 +0100 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2012-11-08 22:00:06 +0100 |
commit | c8ba9280fafe518ada8a6d2a545d6afa2b2dbe23 (patch) | |
tree | 32271289300ae7bd67d2ce1819b40d0fd6ca94f5 /kern/string.c | |
parent | af35c0c34f1e1bafaf5acf058daba2314dfc7e1f (diff) |
kern/string: implement strlcpy
Diffstat (limited to 'kern/string.c')
-rw-r--r-- | kern/string.c | 18 |
1 files changed, 18 insertions, 0 deletions
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) { |