finish correc
This commit is contained in:
6
Makefile
6
Makefile
@ -6,7 +6,7 @@
|
|||||||
# By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ #
|
# By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2023/11/01 11:03:22 by adjoly #+# #+# #
|
# Created: 2023/11/01 11:03:22 by adjoly #+# #+# #
|
||||||
# Updated: 2023/11/12 09:08:30 by adjoly ### ########.fr #
|
# Updated: 2023/11/12 14:03:19 by adjoly ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
@ -75,6 +75,10 @@ $(NAME): $(OBJS)
|
|||||||
|
|
||||||
all: $(NAME)
|
all: $(NAME)
|
||||||
|
|
||||||
|
so:
|
||||||
|
$(CC) -nostartfiles -fPIC $(CFLAGS) $(SRCS) $(SRCS_BONUS)
|
||||||
|
gcc -nostartfiles -shared -o libft.so $(OBJS) $(OBJS_BONUS)
|
||||||
|
|
||||||
bonus: $(OBJS_BONUS)
|
bonus: $(OBJS_BONUS)
|
||||||
ar -rcs $(NAME) $(OBJS_BONUS)
|
ar -rcs $(NAME) $(OBJS_BONUS)
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/11/11 18:05:14 by adjoly #+# #+# */
|
/* Created: 2023/11/11 18:05:14 by adjoly #+# #+# */
|
||||||
/* Updated: 2023/11/11 18:19:34 by adjoly ### ########.fr */
|
/* Updated: 2023/11/12 16:19:59 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ void ft_lstclear(t_list **lst, void (*del)(void *))
|
|||||||
t_list *tmp;
|
t_list *tmp;
|
||||||
|
|
||||||
tmp = NULL;
|
tmp = NULL;
|
||||||
while (*lst && lst)
|
while (lst && *lst && del)
|
||||||
{
|
{
|
||||||
tmp = (*lst)->next;
|
tmp = (*lst)->next;
|
||||||
ft_lstdelone((*lst), del);
|
ft_lstdelone((*lst), del);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/11/11 17:59:39 by adjoly #+# #+# */
|
/* Created: 2023/11/11 17:59:39 by adjoly #+# #+# */
|
||||||
/* Updated: 2023/11/11 18:17:04 by adjoly ### ########.fr */
|
/* Updated: 2023/11/12 15:33:38 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
void ft_lstdelone(t_list *lst, void (*del)(void *))
|
void ft_lstdelone(t_list *lst, void (*del)(void *))
|
||||||
{
|
{
|
||||||
if (lst == NULL)
|
if (lst == NULL || del == NULL)
|
||||||
return ;
|
return ;
|
||||||
del(lst->content);
|
del(lst->content);
|
||||||
free(lst);
|
free(lst);
|
||||||
|
55
ft_split.c
55
ft_split.c
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/11/12 09:14:19 by adjoly #+# #+# */
|
/* Created: 2023/11/12 09:14:19 by adjoly #+# #+# */
|
||||||
/* Updated: 2023/11/12 09:17:04 by adjoly ### ########.fr */
|
/* Updated: 2023/11/12 16:28:35 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -43,41 +43,52 @@ static void *ft_freearr(char **arr)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
free(arr[i]);
|
|
||||||
while (arr[i])
|
while (arr[i])
|
||||||
{
|
{
|
||||||
i++;
|
|
||||||
free(arr[i]);
|
free(arr[i]);
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
free(arr);
|
free(arr);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
char **ft_split(char const *s, char c)
|
char **ft_split_to_result(char **tab, char const *s, char c)
|
||||||
{
|
{
|
||||||
int w_count;
|
|
||||||
char **result;
|
|
||||||
int i;
|
int i;
|
||||||
int j;
|
int j;
|
||||||
|
int k;
|
||||||
|
|
||||||
i = -1;
|
i = 0;
|
||||||
j = 0;
|
j = 0;
|
||||||
|
while (s[i])
|
||||||
|
{
|
||||||
|
if (s[i] != c)
|
||||||
|
{
|
||||||
|
k = 0;
|
||||||
|
tab[j] = ft_calloc(ft_countletter(&s[i], c) + 1, sizeof(char));
|
||||||
|
if (!tab[j])
|
||||||
|
return (ft_freearr(tab));
|
||||||
|
while (s[i] && s[i] != c)
|
||||||
|
tab[j][k++] = s [i++];
|
||||||
|
tab[j][k] = '\0';
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
tab[j] = NULL;
|
||||||
|
return (tab);
|
||||||
|
}
|
||||||
|
|
||||||
|
char **ft_split(char const *s, char c)
|
||||||
|
{
|
||||||
|
char **result;
|
||||||
|
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
w_count = ft_countword(s, c);
|
result = ft_calloc(ft_countword(s, c) + 1, sizeof(char *));
|
||||||
result = malloc((w_count + 1) * sizeof(char *));
|
if (!result)
|
||||||
if (result == NULL)
|
return (NULL);
|
||||||
return (ft_freearr(result));
|
result = ft_split_to_result(result, s, c);
|
||||||
while (++i < w_count)
|
|
||||||
{
|
|
||||||
while (s[j] == c)
|
|
||||||
j++;
|
|
||||||
if (s[j] != '\0' && s[j] != c)
|
|
||||||
{
|
|
||||||
result[i] = ft_substr(s, j, ft_countletter(s + j, c));
|
|
||||||
j += ft_countletter(s + j, c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
result[i] = NULL;
|
|
||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/11/11 14:15:30 by adjoly #+# #+# */
|
/* Created: 2023/11/11 14:15:30 by adjoly #+# #+# */
|
||||||
/* Updated: 2023/11/11 15:08:03 by adjoly ### ########.fr */
|
/* Updated: 2023/11/12 13:59:23 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -17,6 +17,8 @@ void ft_striteri(char *s, void (*f)(unsigned int, char *))
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
|
if (s == NULL || f == NULL)
|
||||||
|
return ;
|
||||||
while (s[i])
|
while (s[i])
|
||||||
{
|
{
|
||||||
f(i, &s[i]);
|
f(i, &s[i]);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/11/04 13:44:09 by adjoly #+# #+# */
|
/* Created: 2023/11/04 13:44:09 by adjoly #+# #+# */
|
||||||
/* Updated: 2023/11/11 01:26:47 by adjoly ### ########.fr */
|
/* Updated: 2023/11/12 16:18:45 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -20,9 +20,9 @@ char *ft_strjoin(char const *s1, char const *s2)
|
|||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
j = 0;
|
j = 0;
|
||||||
if (s1 == NULL && s2 == NULL)
|
if (s1 == NULL || s2 == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
result = malloc((ft_strlen(s1) + ft_strlen(s2) + 1) * sizeof(char));
|
result = ft_calloc((ft_strlen(s1) + ft_strlen(s2) + 1), sizeof(char));
|
||||||
if (result == NULL)
|
if (result == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
while (s1[i])
|
while (s1[i])
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/11/11 11:44:24 by adjoly #+# #+# */
|
/* Created: 2023/11/11 11:44:24 by adjoly #+# #+# */
|
||||||
/* Updated: 2023/11/11 11:50:17 by adjoly ### ########.fr */
|
/* Updated: 2023/11/13 16:14:32 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -18,9 +18,11 @@ char *ft_strmapi(char const *s, char (*f)(unsigned int, char))
|
|||||||
char *res;
|
char *res;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
if (s == NULL)
|
if (!s || !f)
|
||||||
|
return (NULL);
|
||||||
|
res = ft_calloc((ft_strlen(s) + 1), sizeof(char));
|
||||||
|
if (res == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
res = malloc((ft_strlen(s) + 1) * sizeof(char));
|
|
||||||
while (s[i])
|
while (s[i])
|
||||||
{
|
{
|
||||||
res[i] = f(i, s[i]);
|
res[i] = f(i, s[i]);
|
||||||
|
11
ft_strnstr.c
11
ft_strnstr.c
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/11/08 16:02:17 by adjoly #+# #+# */
|
/* Created: 2023/11/08 16:02:17 by adjoly #+# #+# */
|
||||||
/* Updated: 2023/11/09 13:58:30 by adjoly ### ########.fr */
|
/* Updated: 2023/11/12 16:17:28 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -18,15 +18,14 @@ char *ft_strnstr(const char *big, const char *little, size_t len)
|
|||||||
size_t j;
|
size_t j;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
j = 0;
|
if (!big && len == 0)
|
||||||
if (!little || big == little)
|
return (NULL);
|
||||||
|
if (*little == '\0' || little == big)
|
||||||
return ((char *)big);
|
return ((char *)big);
|
||||||
if (len <= 0)
|
|
||||||
return (0);
|
|
||||||
while (i < len && big[i])
|
while (i < len && big[i])
|
||||||
{
|
{
|
||||||
j = 0;
|
j = 0;
|
||||||
while (i + j < len && big[i + j] == little[j])
|
while (big[i + j] == little[j] && little[j] && big[i] && i + j < len)
|
||||||
j++;
|
j++;
|
||||||
if (little[j] == 0)
|
if (little[j] == 0)
|
||||||
return ((char *)big + i);
|
return ((char *)big + i);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/11/02 17:59:58 by adjoly #+# #+# */
|
/* Created: 2023/11/02 17:59:58 by adjoly #+# #+# */
|
||||||
/* Updated: 2023/11/11 01:03:32 by adjoly ### ########.fr */
|
/* Updated: 2023/11/13 16:22:26 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ char *ft_substr(char const *s, unsigned int start, size_t len)
|
|||||||
if (len >= ft_strlen(s))
|
if (len >= ft_strlen(s))
|
||||||
len = ft_strlen(s) - start;
|
len = ft_strlen(s) - start;
|
||||||
if (len == 0 || start >= ft_strlen(s))
|
if (len == 0 || start >= ft_strlen(s))
|
||||||
return (calloc(1, 1));
|
return (ft_calloc(1, 1));
|
||||||
result = malloc((len + 1) * sizeof(char));
|
result = malloc((len + 1) * sizeof(char));
|
||||||
if (result == NULL)
|
if (result == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
Reference in New Issue
Block a user