2021-10-22 11:56:40
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
/* By: gbaconni <gbaconni@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/10/14 09:22:30 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/10/20 09:31:27 by gbaconni ### ########.fr */
|
||||
/* Updated: 2021/10/22 11:56:11 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -28,7 +28,7 @@ size_t strnlen(const char *s, size_t maxlen)
|
||||
size_t len;
|
||||
|
||||
len = 0;
|
||||
while (s[len] != '\0' && --maxlen != 0)
|
||||
while (len < maxlen && *s++ != '\0')
|
||||
len++;
|
||||
return (len);
|
||||
}
|
||||
@@ -52,17 +52,21 @@ size_t strlcpy(char *dst, const char *src, size_t dstsize)
|
||||
|
||||
size_t strlcat(char *dst, const char *src, size_t dstsize)
|
||||
{
|
||||
char *d;
|
||||
const char *s;
|
||||
size_t n;
|
||||
size_t srclen;
|
||||
size_t dstlen;
|
||||
size_t cpylen;
|
||||
|
||||
d = dst;
|
||||
d += strlen(d);
|
||||
s = src;
|
||||
n = strnlen(s, dstsize);
|
||||
d[n] = '\0';
|
||||
memcpy(d, s, n);
|
||||
return ((d - dst) + n);
|
||||
srclen = strlen(src);
|
||||
dstlen = strnlen(dst, dstsize);
|
||||
if (dstlen == dstsize)
|
||||
return (dstsize + srclen);
|
||||
if (srclen < dstsize - dstlen)
|
||||
cpylen = srclen + 1;
|
||||
else
|
||||
cpylen = dstsize - dstlen - 1;
|
||||
memcpy(dst + dstlen, src, cpylen);
|
||||
dst[dstsize - 1] = '\0';
|
||||
return (dstlen + srclen);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user