X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=lib%2Fstrlcat.c;fp=lib%2Fstrlcat.c;h=0000000000000000000000000000000000000000;hb=b7a32e2d73e3ab1add8208d3e157f7269a31ef4d;hp=2d005836d83c3f63b0fe9933a4d3a7e9d066a8a8;hpb=ac902a8299ff4469b356836f431ead31c3377377;p=innduct.git diff --git a/lib/strlcat.c b/lib/strlcat.c deleted file mode 100644 index 2d00583..0000000 --- a/lib/strlcat.c +++ /dev/null @@ -1,40 +0,0 @@ -/* $Id: strlcat.c 5681 2002-08-29 04:07:50Z rra $ -** -** Replacement for a missing strlcat. -** -** Written by Russ Allbery -** This work is hereby placed in the public domain by its author. -** -** Provides the same functionality as the *BSD function strlcat, originally -** developed by Todd Miller and Theo de Raadt. strlcat works similarly to -** strncat, except simpler. The result is always nul-terminated even if the -** source string is longer than the space remaining in the destination -** string, and the total space required is returned. The third argument is -** the total space available in the destination buffer, not just the amount -** of space remaining. -*/ - -#include "config.h" -#include "clibrary.h" - -/* If we're running the test suite, rename strlcat to avoid conflicts with - the system version. */ -#if TESTING -# define strlcat test_strlcat -size_t test_strlcat(char *, const char *, size_t); -#endif - -size_t -strlcat(char *dst, const char *src, size_t size) -{ - size_t used, length, copy; - - used = strlen(dst); - length = strlen(src); - if (size > 0 && used < size - 1) { - copy = (length >= size - used) ? size - used - 1 : length; - memcpy(dst + used, src, copy); - dst[used + copy] = '\0'; - } - return used + length; -}