some fixes
This commit is contained in:
18
Makefile
18
Makefile
@@ -45,13 +45,27 @@ SRC = ft_isalpha.c \
|
||||
ft_putendl_fd.c \
|
||||
ft_putnbr_fd.c
|
||||
|
||||
OBJ_DIR = objs
|
||||
BONUS_SRC = ft_lstnew.c \
|
||||
ft_lstadd_front.c \
|
||||
ft_lstsize.c \
|
||||
ft_lstlast.c \
|
||||
ft_lstadd_back.c \
|
||||
ft_lstdelone.c \
|
||||
ft_lstclear.c \
|
||||
ft_lstiter.c \
|
||||
ft_lstmap.c
|
||||
|
||||
OBJ = $(patsubst %, $(OBJ_DIR)/%o, $(SRC:.c=.))
|
||||
OBJ = $(SRC:.c=.o)
|
||||
|
||||
BONUS_OBJ = $(BONUS_SRC:.c=.o)
|
||||
|
||||
|
||||
all: $(NAME)
|
||||
|
||||
bonus: $(OBJ) $(BONUS_OBJ)
|
||||
$(AR) $(ARFLAGS) $(NAME) $(OBJ) $(BONUS_OBJ)
|
||||
ranlib $(NAME)
|
||||
|
||||
$(NAME): $(OBJ)
|
||||
$(AR) $(ARFLAGS) $(NAME) $(OBJ)
|
||||
ranlib $(NAME)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/* By: dgaillet <dgaillet@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/11/05 19:07:51 by dgaillet #+# #+# */
|
||||
/* Updated: 2025/11/05 20:53:10 by dgaillet ### ########lyon.fr */
|
||||
/* Updated: 2025/11/09 17:34:56 by dgaillet ### ########lyon.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
||||
36
ft_itoa.c
36
ft_itoa.c
@@ -6,13 +6,13 @@
|
||||
/* By: dgaillet <dgaillet@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/11/07 13:06:35 by dgaillet #+# #+# */
|
||||
/* Updated: 2025/11/07 13:52:20 by dgaillet ### ########lyon.fr */
|
||||
/* Updated: 2025/11/09 18:47:18 by dgaillet ### ########lyon.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
size_t malloc_size(int n)
|
||||
static size_t count_digits(int n)
|
||||
{
|
||||
size_t size;
|
||||
|
||||
@@ -27,49 +27,51 @@ size_t malloc_size(int n)
|
||||
return (size);
|
||||
}
|
||||
|
||||
void insert_char(char *str, unsigned int nbr, int index)
|
||||
static void insert_char(char *str, unsigned int nbr, size_t index)
|
||||
{
|
||||
if (!index)
|
||||
return ;
|
||||
str[index] = (nbr % 10) + '0';
|
||||
insert_char(str, nbr / 10, index - 1);
|
||||
while (nbr)
|
||||
{
|
||||
str[index--] = nbr % 10 + '0';
|
||||
nbr /= 10;
|
||||
}
|
||||
}
|
||||
|
||||
char *ft_itoa(int n)
|
||||
{
|
||||
unsigned int nbr;
|
||||
char *str;
|
||||
size_t size;
|
||||
|
||||
nbr = n;
|
||||
if (n < 0)
|
||||
nbr = n * -1;
|
||||
str = malloc(sizeof(char) * (malloc_size(n) + 1));
|
||||
size = count_digits(n);
|
||||
str = malloc(sizeof(char) * (size + 1));
|
||||
if (!str)
|
||||
return (NULL);
|
||||
str[size] = '\0';
|
||||
if (nbr == 0)
|
||||
str[0] = '0';
|
||||
else
|
||||
{
|
||||
if (n < 0)
|
||||
{
|
||||
str[0] = '-';
|
||||
}
|
||||
insert_char(str, nbr, malloc_size(n) - 1);
|
||||
insert_char(str, nbr, size - 1);
|
||||
}
|
||||
str[malloc_size(n)] = '\0';
|
||||
return (str);
|
||||
}
|
||||
|
||||
#include "stdio.h"
|
||||
|
||||
/*
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
char *str;
|
||||
|
||||
if (argc > 1)
|
||||
{
|
||||
str = ft_itoa(atoi(argv[1]));
|
||||
printf("%s\n", str);
|
||||
str = ft_itoa(42);
|
||||
if (!str)
|
||||
return (1);
|
||||
ft_putstr_fd(str, 1);
|
||||
free(str);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
14
ft_memset.c
14
ft_memset.c
@@ -6,7 +6,7 @@
|
||||
/* By: dgaillet <dgaillet@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/11/05 11:20:47 by dgaillet #+# #+# */
|
||||
/* Updated: 2025/11/05 11:44:56 by dgaillet ### ########lyon.fr */
|
||||
/* Updated: 2025/11/09 19:08:42 by dgaillet ### ########lyon.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -14,9 +14,13 @@
|
||||
|
||||
void *ft_memset(void *s, int c, size_t n)
|
||||
{
|
||||
if (n <= 0)
|
||||
return (s);
|
||||
*((char *) s) = c;
|
||||
ft_memset(s + 1, c, n - 1);
|
||||
size_t i;
|
||||
|
||||
i = 0;
|
||||
while (i < n)
|
||||
{
|
||||
((unsigned char *) s)[i] = c;
|
||||
i++;
|
||||
}
|
||||
return (s);
|
||||
}
|
||||
|
||||
17
libft.h
17
libft.h
@@ -6,7 +6,7 @@
|
||||
/* By: dgaillet <dgaillet@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/11/05 09:49:43 by dgaillet #+# #+# */
|
||||
/* Updated: 2025/11/08 17:56:20 by dgaillet ### ########lyon.fr */
|
||||
/* Updated: 2025/11/09 16:07:05 by dgaillet ### ########lyon.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -15,6 +15,12 @@
|
||||
|
||||
# include <stdlib.h>
|
||||
|
||||
typedef struct s_list
|
||||
{
|
||||
void *content;
|
||||
struct s_list *next;
|
||||
} t_list;
|
||||
|
||||
int ft_isalpha(int c);
|
||||
int ft_isdigit(int c);
|
||||
int ft_isalnum(int c);
|
||||
@@ -49,5 +55,14 @@ void ft_putchar_fd(char c, int fd);
|
||||
void ft_putstr_fd(char *s, int fd);
|
||||
void ft_putendl_fd(char *s, int fd);
|
||||
void ft_putnbr_fd(int n, int fd);
|
||||
t_list *ft_lstnew(void *content);
|
||||
void ft_lstadd_front(t_list **lst, t_list *new);
|
||||
int ft_lstsize(t_list *lst);
|
||||
t_list *ft_lstlast(t_list *lst);
|
||||
void ft_lstadd_back(t_list **lst, t_list *new);
|
||||
void ft_lstdelone(t_list *lst, void (*del)(void *));
|
||||
void ft_lstclear(t_list **lst, void (*del)(void *));
|
||||
void ft_lstiter(t_list *lst, void (*f)(void *));
|
||||
t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *));
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user