diff options
| -rw-r--r-- | ft_atoi.c | 62 | ||||
| -rw-r--r-- | ft_bzero.c | 22 | ||||
| -rw-r--r-- | ft_isalnum.c | 16 | ||||
| -rw-r--r-- | ft_isalpha.c | 16 | ||||
| -rw-r--r-- | ft_isascii.c | 16 | ||||
| -rw-r--r-- | ft_isdigit.c | 16 | ||||
| -rw-r--r-- | ft_isprint.c | 16 | ||||
| -rw-r--r-- | ft_itoa.c | 17 | ||||
| -rw-r--r-- | ft_memalloc.c | 26 | ||||
| -rw-r--r-- | ft_memccpy.c | 46 | ||||
| -rw-r--r-- | ft_memchr.c | 36 | ||||
| -rw-r--r-- | ft_memcmp.c | 40 | ||||
| -rw-r--r-- | ft_memcpy.c | 34 | ||||
| -rw-r--r-- | ft_memdel.c | 18 | ||||
| -rw-r--r-- | ft_memmove.c | 65 | ||||
| -rw-r--r-- | ft_memset.c | 16 | ||||
| -rw-r--r-- | ft_putchar.c | 18 | ||||
| -rw-r--r-- | ft_putchar_fd.c | 16 | ||||
| -rw-r--r-- | ft_putendl.c | 18 | ||||
| -rw-r--r-- | ft_putendl_fd.c | 18 | ||||
| -rw-r--r-- | ft_putnbr.c | 16 | ||||
| -rw-r--r-- | ft_putnbr_fd.c | 16 | ||||
| -rw-r--r-- | ft_putstr.c | 18 | ||||
| -rw-r--r-- | ft_putstr_fd.c | 18 | ||||
| -rw-r--r-- | ft_strcat.c | 40 | ||||
| -rw-r--r-- | ft_strchr.c | 36 | ||||
| -rw-r--r-- | ft_strclr.c | 18 | ||||
| -rw-r--r-- | ft_strcmp.c | 24 | ||||
| -rw-r--r-- | ft_strcpy.c | 32 | ||||
| -rw-r--r-- | ft_strdel.c | 16 | ||||
| -rw-r--r-- | ft_strdup.c | 43 | ||||
| -rw-r--r-- | ft_strequ.c | 16 | ||||
| -rw-r--r-- | ft_striter.c | 18 | ||||
| -rw-r--r-- | ft_striteri.c | 28 | ||||
| -rw-r--r-- | ft_strjoin.c | 26 | ||||
| -rw-r--r-- | ft_strlcat.c | 14 | ||||
| -rw-r--r-- | ft_strlen.c | 24 | ||||
| -rw-r--r-- | ft_strmap.c | 42 | ||||
| -rw-r--r-- | ft_strmapi.c | 42 | ||||
| -rw-r--r-- | ft_strncat.c | 40 | ||||
| -rw-r--r-- | ft_strncmp.c | 16 | ||||
| -rw-r--r-- | ft_strncpy.c | 34 | ||||
| -rw-r--r-- | ft_strnequ.c | 16 | ||||
| -rw-r--r-- | ft_strnew.c | 28 | ||||
| -rw-r--r-- | ft_strnstr.c | 26 | ||||
| -rw-r--r-- | ft_strrchr.c | 32 | ||||
| -rw-r--r-- | ft_strsplit.c | 113 | ||||
| -rw-r--r-- | ft_strstr.c | 20 | ||||
| -rw-r--r-- | ft_strsub.c | 38 | ||||
| -rw-r--r-- | ft_strtrim.c | 48 | ||||
| -rw-r--r-- | ft_tolower.c | 26 | ||||
| -rw-r--r-- | ft_toupper.c | 26 | ||||
| -rw-r--r-- | libft.h | 110 |
53 files changed, 1111 insertions, 481 deletions
@@ -1,33 +1,53 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_atoi.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 09:46:16 by cacharle #+# #+# */ +/* Updated: 2019/10/07 11:34:37 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #define MIN_INT (1 << 31) #define MAX_INT (~(1 << 31)) -int ft_atoi(const char *nptr) +static int precheck(const char **nptr) { - unsigned int nb; - int i; - int is_negative; + int is_negative; - while (*nptr == ' ' || *nptr == '\t'|| *nptr == '\n' - || *nptr == '\v'|| *nptr == '\f'|| *nptr == '\r') - nptr++; - is_negative = 0; - if (*nptr == '-' || *nptr == '+') + while (**nptr == ' ' || **nptr == '\t' || **nptr == '\n' + || **nptr == '\v' || **nptr == '\f' || **nptr == '\r') + (*nptr)++; + is_negative = 0; + if (**nptr == '-' || **nptr == '+') { - if (*nptr == '-') - is_negative = 1; - nptr++; + if (**nptr == '-') + is_negative = 1; + (*nptr)++; } - i = 0; - nb = 0; + return (is_negative); +} + +int ft_atoi(const char *nptr) +{ + unsigned int nb; + int i; + int is_negative; + + is_negative = precheck(&nptr); + i = 0; + nb = 0; while (nptr[i] >= '0' && nptr[i] <= '9') { - if (!is_negative && nb > (unsigned int)MAX_INT) - return (-1); - else if (nb > (unsigned int)MIN_INT) - return (0); - nb *= 10; - nb += nptr[i] - '0'; - i++; + if (!is_negative && nb > (unsigned int)MAX_INT) + return (-1); + else if (nb > (unsigned int)MIN_INT) + return (0); + nb *= 10; + nb += nptr[i] - '0'; + i++; } return ((int)(is_negative ? -nb : nb)); } @@ -1,10 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_bzero.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 09:50:10 by cacharle #+# #+# */ +/* Updated: 2019/10/07 09:50:22 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include <string.h> -void ft_bzero(void *s, size_t n) +void ft_bzero(void *s, size_t n) { - char *s_char_ptr; + char *s_char_ptr; - s_char_ptr = (char*)s; - while (n-- > 0) - s_char_ptr[n] = 0; + s_char_ptr = (char*)s; + while (n-- > 0) + s_char_ptr[n] = 0; } diff --git a/ft_isalnum.c b/ft_isalnum.c index d98da91..1ee1e0f 100644 --- a/ft_isalnum.c +++ b/ft_isalnum.c @@ -1,6 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isalnum.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 09:41:40 by cacharle #+# #+# */ +/* Updated: 2019/10/07 09:41:56 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include "libft.h" -int ft_isalnum(int c) +int ft_isalnum(int c) { - return (ft_isalpha(c) || ft_isdigit(c)); + return (ft_isalpha(c) || ft_isdigit(c)); } diff --git a/ft_isalpha.c b/ft_isalpha.c index cd09abb..070ff6a 100644 --- a/ft_isalpha.c +++ b/ft_isalpha.c @@ -1,4 +1,16 @@ -int ft_isalpha(int c) +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isalpha.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 09:54:52 by cacharle #+# #+# */ +/* Updated: 2019/10/07 09:54:57 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_isalpha(int c) { - return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')); } diff --git a/ft_isascii.c b/ft_isascii.c index 7742ded..5bb79cb 100644 --- a/ft_isascii.c +++ b/ft_isascii.c @@ -1,6 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isascii.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 09:54:30 by cacharle #+# #+# */ +/* Updated: 2019/10/07 09:54:37 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #define MAX_CHAR ((1 << 7) - 1) -int ft_isascii(int c) +int ft_isascii(int c) { - return (c >= 0 && c <= MAX_CHAR); + return (c >= 0 && c <= MAX_CHAR); } diff --git a/ft_isdigit.c b/ft_isdigit.c index a41e1fd..f8a5850 100644 --- a/ft_isdigit.c +++ b/ft_isdigit.c @@ -1,4 +1,16 @@ -int ft_isdigit(int c) +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isdigit.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 10:41:20 by cacharle #+# #+# */ +/* Updated: 2019/10/07 10:41:25 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_isdigit(int c) { - return (c >= '0' && c <= '9'); + return (c >= '0' && c <= '9'); } diff --git a/ft_isprint.c b/ft_isprint.c index 6834120..397271d 100644 --- a/ft_isprint.c +++ b/ft_isprint.c @@ -1,4 +1,16 @@ -int ft_isprint(int c) +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_isprint.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 09:52:09 by cacharle #+# #+# */ +/* Updated: 2019/10/07 09:52:10 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_isprint(int c) { - return (c >= ' ' && c <= '~'); + return (c >= ' ' && c <= '~'); } @@ -1,7 +1,18 @@ -#include <stdlib.h> +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_itoa.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 10:19:56 by cacharle #+# #+# */ +/* Updated: 2019/10/07 10:21:23 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ +#include <stdlib.h> -static int count_len(int nbr) +static int count_len(int nbr) { int counter; unsigned int u_nbr; @@ -23,7 +34,7 @@ static int count_len(int nbr) return (counter); } -char *ft_itoa(int n) +char *ft_itoa(int n) { char *str; int len; diff --git a/ft_memalloc.c b/ft_memalloc.c index 3c81f10..c485bfd 100644 --- a/ft_memalloc.c +++ b/ft_memalloc.c @@ -1,13 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memalloc.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 10:07:14 by cacharle #+# #+# */ +/* Updated: 2019/10/07 10:07:47 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include <stdlib.h> #include <string.h> -void *ft_memalloc(size_t size) +void *ft_memalloc(size_t size) { - void *ptr; + void *ptr; - if ((ptr = malloc(size)) == NULL) - return (NULL); - while (size-- > 0) - ((unsigned char*)ptr)[size] = 0; - return (ptr); + if ((ptr = malloc(size)) == NULL) + return (NULL); + while (size-- > 0) + ((unsigned char*)ptr)[size] = 0; + return (ptr); } diff --git a/ft_memccpy.c b/ft_memccpy.c index 9cc483a..20104ab 100644 --- a/ft_memccpy.c +++ b/ft_memccpy.c @@ -1,22 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memccpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 10:01:53 by cacharle #+# #+# */ +/* Updated: 2019/10/07 10:03:07 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include <string.h> -void *ft_memccpy(void *dest, const void *src, int c, size_t n) +void *ft_memccpy(void *dest, const void *src, int c, size_t n) { - size_t i; - unsigned char *uc_dest; - unsigned char *uc_src; + size_t i; + unsigned char *uc_dest; + unsigned char *uc_src; - uc_dest = (unsigned char*)dest; - uc_src = (unsigned char*)src; - i = 0; - while (i < n) - { - uc_dest[i] = uc_src[i]; - if (uc_dest[i] == (unsigned char)c) - break ; - i++; - } - if (i == n) - return (NULL); - return (dest + i + 1); + uc_dest = (unsigned char*)dest; + uc_src = (unsigned char*)src; + i = 0; + while (i < n) + { + uc_dest[i] = uc_src[i]; + if (uc_dest[i] == (unsigned char)c) + break ; + i++; + } + if (i == n) + return (NULL); + return (dest + i + 1); } diff --git a/ft_memchr.c b/ft_memchr.c index 662a6c7..26b196f 100644 --- a/ft_memchr.c +++ b/ft_memchr.c @@ -1,17 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memchr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 09:55:31 by cacharle #+# #+# */ +/* Updated: 2019/10/07 09:56:35 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include <string.h> -void *ft_memchr(const void *s, int c, size_t n) +void *ft_memchr(const void *s, int c, size_t n) { - size_t i; - unsigned char *uc_s; + size_t i; + unsigned char *uc_s; - uc_s = (unsigned char*)s; - i = 0; - while (i < n) - { - if (uc_s[i] == (unsigned char)c) - return (uc_s + i); - i++; - } - return (NULL); + uc_s = (unsigned char*)s; + i = 0; + while (i < n) + { + if (uc_s[i] == (unsigned char)c) + return (uc_s + i); + i++; + } + return (NULL); } diff --git a/ft_memcmp.c b/ft_memcmp.c index 76cd47d..32a2cc4 100644 --- a/ft_memcmp.c +++ b/ft_memcmp.c @@ -1,19 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memcmp.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 09:56:44 by cacharle #+# #+# */ +/* Updated: 2019/10/07 09:59:58 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include <string.h> -int ft_memcmp(const void *s1, const void *s2, size_t n) +int ft_memcmp(const void *s1, const void *s2, size_t n) { - size_t i; - unsigned char *uc_s1; - unsigned char *uc_s2; + size_t i; + unsigned char *uc_s1; + unsigned char *uc_s2; - uc_s1 = (unsigned char*)s1; - uc_s2 = (unsigned char*)s2; - i = 0; - if (n == 0) - return (0); - while (i < n && uc_s1[i] == uc_s2[i]) - i++; - if (i == n) - i--; - return (uc_s1[i] - uc_s2[i]); + uc_s1 = (unsigned char*)s1; + uc_s2 = (unsigned char*)s2; + i = 0; + if (n == 0) + return (0); + while (i < n && uc_s1[i] == uc_s2[i]) + i++; + if (i == n) + i--; + return (uc_s1[i] - uc_s2[i]); } diff --git a/ft_memcpy.c b/ft_memcpy.c index 1ac2708..da243f2 100644 --- a/ft_memcpy.c +++ b/ft_memcpy.c @@ -1,16 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 10:00:07 by cacharle #+# #+# */ +/* Updated: 2019/10/07 10:00:46 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include <string.h> -void *ft_memcpy(void *dest, const void *src, size_t n) +void *ft_memcpy(void *dest, const void *src, size_t n) { - size_t i; + size_t i; - if (dest == NULL && src == NULL) - return (NULL); - i = 0; - while (i < n) - { - *((char*)dest + i) = *((char*)src + i); - i++; - } - return (dest); + if (dest == NULL && src == NULL) + return (NULL); + i = 0; + while (i < n) + { + *((char*)dest + i) = *((char*)src + i); + i++; + } + return (dest); } diff --git a/ft_memdel.c b/ft_memdel.c index 6d4cd6f..206e5af 100644 --- a/ft_memdel.c +++ b/ft_memdel.c @@ -1,7 +1,19 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memdel.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 10:00:56 by cacharle #+# #+# */ +/* Updated: 2019/10/07 10:01:06 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include <stdlib.h> -void ft_memdel(void **ap) +void ft_memdel(void **ap) { - free(*ap); - *ap = NULL; + free(*ap); + *ap = NULL; } diff --git a/ft_memmove.c b/ft_memmove.c index 54555cb..282ea52 100644 --- a/ft_memmove.c +++ b/ft_memmove.c @@ -1,38 +1,43 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memmove.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 10:03:21 by cacharle #+# #+# */ +/* Updated: 2019/10/07 11:17:29 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include <stdlib.h> #include <string.h> #define BUF_SIZE 4096 -void *ft_memmove(void *dest, const void *src, size_t n) +void *ft_memmove(void *dest, const void *src, size_t n) { - size_t i; - size_t j; - size_t k; - unsigned char tmp[BUF_SIZE]; - unsigned char *uc_dest; - unsigned char *uc_src; + size_t i; + size_t j; + size_t k; + unsigned char tmp[BUF_SIZE]; - if (dest == NULL && src == NULL) - return (NULL); - uc_dest = (unsigned char*) dest; - uc_src = (unsigned char*) src; - i = 0; - while (i < n) - { - j = 0; - while (j < BUF_SIZE && i < n) - { - tmp[j] = uc_src[i]; - j++; - i++; - } - k = 0; - while (k < j) - { - uc_dest[k] = tmp[k]; - k++; - } - i++; - } - return (dest); + if (dest == NULL && src == NULL) + return (NULL); + i = 0; + while (i < n) + { + j = 0; + while (j < BUF_SIZE && i < n) + { + tmp[j] = ((unsigned char*)src)[i]; + j++; + i++; + } + k = -1; + while (++k < j) + ((unsigned char*)dest)[k] = tmp[k]; + i++; + } + return (dest); } diff --git a/ft_memset.c b/ft_memset.c index e09db6c..9e3a541 100644 --- a/ft_memset.c +++ b/ft_memset.c @@ -1,8 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memset.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/ |
