/* strlcat - Append a length-limited, NUL-terminated string to another @dest: The string to be appended to @src: The string to append to it  */
size_t strlcat(char *dest, const char *src, size_t n)
/* strlcat - Append a length-limited, NUL-terminated string to another @dest: The string to be appended to @src: The string to append to it  */
size_t strlcat(char *dest, const char *src, size_t n)
{
	size_t dsize = __strend(dest) - dest;
	size_t len = __strend(src) - src;
	size_t res = dsize + len;
	if (dsize < n) {
		dest += dsize;
		n -= dsize;
		if (len >= n)
			len = n - 1;
		dest[len] = '\0';
		__builtin_memcpy(dest, src, len);
	}
	return res;
}