diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-11-21 02:06:06 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-11-21 02:06:06 +0100 |
| commit | afc8c70a66773563f6e7429b500abcbab631722b (patch) | |
| tree | 731b50b430b493280ce97a557f86f45cb2f37780 /ft_strncpy.c | |
| parent | f96be9ba455b0a71562e732664717b507b4bd548 (diff) | |
| download | libft-afc8c70a66773563f6e7429b500abcbab631722b.tar.gz libft-afc8c70a66773563f6e7429b500abcbab631722b.tar.bz2 libft-afc8c70a66773563f6e7429b500abcbab631722b.zip | |
ft_memset and ft_strlen optimization
Diffstat (limited to 'ft_strncpy.c')
| -rw-r--r-- | ft_strncpy.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/ft_strncpy.c b/ft_strncpy.c index 5f4c69f..3dbe2c9 100644 --- a/ft_strncpy.c +++ b/ft_strncpy.c @@ -6,22 +6,20 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:26:59 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:36:05 by cacharle ### ########.fr */ +/* Updated: 2019/11/21 02:01:34 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" + char *ft_strncpy(char *dest, const char *src, size_t n) { - size_t i; + size_t len; - i = 0; - while (src[i] && i < n) - { - dest[i] = src[i]; - i++; - } - ft_bzero(dest + i, n - i); + len = ft_strlen(src); + ft_memcpy(dest, src, MIN(n, len)); + if (len < n) + ft_bzero(dest + len , n - len); return (dest); } |
