diff options
Diffstat (limited to 'libft.h')
| -rw-r--r-- | libft.h | 81 |
1 files changed, 53 insertions, 28 deletions
@@ -6,25 +6,26 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:45:02 by cacharle #+# #+# */ -/* Updated: 2019/11/05 22:19:15 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:07:41 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef LIBFT_H # define LIBFT_H -# include <string.h> +# include <unistd.h> +# include <stdlib.h> +# include <stddef.h> +# include <limits.h> # define TRUE 1 # define FALSE 0 typedef unsigned char t_byte; -typedef struct s_list -{ - void *content; - struct s_list *next; -} t_list; +/* +** memory +*/ void *ft_memset(void *s, int c, size_t n); void ft_bzero(void *s, size_t n); @@ -33,6 +34,14 @@ void *ft_memccpy(void *dest, const void *src, int c, size_t n); void *ft_memmove(void *dst, const void *src, size_t len); void *ft_memchr(const void *s, int c, size_t n); int ft_memcmp(const void *s1, const void *s2, size_t n); + +void *ft_memalloc(size_t size); +void ft_memdel(void **ap); + +/* +** string +*/ + size_t ft_strlen(const char *s); char *ft_strdup(const char *s); char *ft_strcpy(char *dest, const char *src); @@ -48,22 +57,13 @@ char *ft_strnstr(const char *haystack, const char *needle, size_t len); int ft_strcmp(const char *s1, const char *s2); int ft_strncmp(const char *s1, const char *s2, size_t n); +void ft_striter(char *s, void (*f)(char *)); +void ft_striteri(char *s, void (*f)(unsigned int, char *)); int ft_atoi(const char *nptr); -int ft_isalpha(int c); -int ft_isdigit(int c); -int ft_isalnum(int c); -int ft_isascii(int c); -int ft_isprint(int c); -int ft_toupper(int c); -int ft_tolower(int c); -void *ft_calloc(size_t count, size_t size); -void *ft_memalloc(size_t size); -void ft_memdel(void **ap); + char *ft_strnew(size_t size); void ft_strdel(char **as); void ft_strclr(char *s); -void ft_striter(char *s, void (*f)(char *)); -void ft_striteri(char *s, void (*f)(unsigned int, char *)); char *ft_strmap(char const *s, char (*f)(char)); char *ft_strmapi(char *s, char (*f)(unsigned int, char)); int ft_strequ(char const *s1, char const *s2); @@ -72,7 +72,34 @@ char *ft_substr(char const *s, unsigned int start, size_t len); char *ft_strjoin(char const *s1, char const *s2); char *ft_strtrim(char const *s1, char const *set); char **ft_split(char const *s, char c); + +char *ft_strjoin_free(char const *s1, char const *s2, + int free_nb); +char *ft_strjoin_free_snd(char const *s1, char const *s2); + +/* +** character +*/ + +int ft_isalpha(int c); +int ft_isdigit(int c); +int ft_isalnum(int c); +int ft_isascii(int c); +int ft_isprint(int c); +int ft_toupper(int c); +int ft_tolower(int c); + +/* +** allocation +*/ + +void *ft_calloc(size_t count, size_t size); char *ft_itoa(int n); + +/* +** fildes +*/ + void ft_putendl(char *s); void ft_putchar(char c); void ft_putstr(char const *s); @@ -84,9 +111,15 @@ void ft_putnbr_fd(int n, int fd); char *ft_strndup(const char *s1, size_t n); /* -** bonus +** list */ +typedef struct s_list +{ + void *content; + struct s_list *next; +} t_list; + t_list *ft_lstnew(void const *content); void ft_lstadd_front(t_list **alst, t_list *new); int ft_lstsize(t_list *lst); @@ -99,12 +132,4 @@ t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)); void ft_lstpop_front(t_list **lst, void (*del)(void *)); -/* -** added -*/ - -char *ft_strjoin_free(char const *s1, char const *s2, - int free_nb); -char *ft_strjoin_free_snd(char const *s1, char const *s2); - #endif |
