aboutsummaryrefslogtreecommitdiff
path: root/ft_strncpy.c
diff options
context:
space:
mode:
Diffstat (limited to 'ft_strncpy.c')
-rw-r--r--ft_strncpy.c16
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);
}