aboutsummaryrefslogtreecommitdiff
path: root/c03/ex05
diff options
context:
space:
mode:
authorCabergs Charles <cacharle@e-r6-p7.s19.be>2019-07-07 15:29:30 +0200
committerCabergs Charles <cacharle@e-r6-p7.s19.be>2019-07-07 15:29:30 +0200
commit1fd0ebe76b81187fa428b4d699fb70cd4407fef5 (patch)
tree32827b5be808bf3123d46856bb753fc190fd3611 /c03/ex05
parent8d88f6751542e7654025dc60d6886c7b26f6993b (diff)
downloadpiscine-1fd0ebe76b81187fa428b4d699fb70cd4407fef5.tar.gz
piscine-1fd0ebe76b81187fa428b4d699fb70cd4407fef5.tar.bz2
piscine-1fd0ebe76b81187fa428b4d699fb70cd4407fef5.zip
c04/c05 testing + c06
Diffstat (limited to 'c03/ex05')
-rw-r--r--c03/ex05/ft_strlcat.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/c03/ex05/ft_strlcat.c b/c03/ex05/ft_strlcat.c
index 5cacc4d..1e7f9dc 100644
--- a/c03/ex05/ft_strlcat.c
+++ b/c03/ex05/ft_strlcat.c
@@ -6,7 +6,7 @@
/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/07/05 15:43:34 by cacharle #+# #+# */
-/* Updated: 2019/07/06 07:12:28 by cacharle ### ########.fr */
+/* Updated: 2019/07/07 11:08:08 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,30 +15,29 @@ unsigned int my_strlen(char *str)
int counter;
counter = 0;
- while (*str != '\0')
- {
+ while (str[counter])
counter++;
- str++;
- }
return (counter);
}
unsigned int ft_strlcat(char *dest, char *src, unsigned int size)
{
unsigned int i;
- unsigned int len_src;
- unsigned int len_dest;
+ unsigned int dest_len;
+ unsigned int src_len;
- len_src = my_strlen(src);
- len_dest = my_strlen(dest);
- if (!len_src)
- return (len_dest);
- i = len_dest - 1;
- while (i < size - len_dest - 1 && src[i])
+ dest_len = my_strlen(dest);
+ src_len = my_strlen(src);
+ if (size == 0)
+ return (src_len);
+ i = dest_len;
+ while (i < size - 1 && src[i - dest_len])
{
- dest[i] = src[i];
+ dest[i] = src[i - dest_len];
i++;
}
- dest[i] = '\0';
- return (len_src + len_dest);
+ if (dest[size - 1] != '\0')
+ return (src_len + size);
+ dest[size - 1] = '\0';
+ return (dest_len + src_len);
}