diff options
author | salad <fmoenne-@student.le-101.fr> | 2020-10-26 13:42:56 +0100 |
---|---|---|
committer | salad <fmoenne-@student.le-101.fr> | 2020-10-26 13:42:56 +0100 |
commit | 0277ddfac754ab4ad5bdd2b692e31a717efbe569 (patch) | |
tree | 49d7c5fd3a12248af85e2c3a3254bc1538ae5775 /libft | |
parent | reqdy for MERGE (diff) | |
parent | TODO update (diff) | |
download | 42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.tar.gz 42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.tar.bz2 42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.tar.xz 42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.tar.zst 42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.zip |
merge wif master
Diffstat (limited to 'libft')
-rw-r--r-- | libft/Makefile | 2 | ||||
-rw-r--r-- | libft/include/libft.h | 6 | ||||
-rw-r--r-- | libft/src/ft_isspace.c | 1 | ||||
-rw-r--r-- | libft/src/ft_iswhitespace.c | 25 | ||||
-rw-r--r-- | libft/src/ft_nrealloc.c | 4 | ||||
-rw-r--r-- | libft/src/ft_strlcpy.c | 4 | ||||
-rw-r--r-- | libft/src/ft_strsubst.c | 4 | ||||
-rw-r--r-- | libft/src/ft_strsubst_s.c | 31 |
8 files changed, 69 insertions, 8 deletions
diff --git a/libft/Makefile b/libft/Makefile index 4e5095b..4489b9a 100644 --- a/libft/Makefile +++ b/libft/Makefile @@ -78,6 +78,7 @@ SRCS_NAME += ft_putnbr_base.c SRCS_NAME += ft_strcat.c SRCS_NAME += ft_strcmp.c SRCS_NAME += ft_isspace.c +SRCS_NAME += ft_iswhitespace.c SRCS_NAME += ft_sqrt.c SRCS_NAME += ft_intlen.c SRCS_NAME += ft_intlen_base.c @@ -111,6 +112,7 @@ SRCS_NAME += ft_printf_process.c SRCS_NAME += ft_printf_cat_output.c SRCS_NAME += ft_printf_flag_to_atoi.c SRCS_NAME += ft_strsubst.c +SRCS_NAME += ft_strsubst_s.c #------------------------------------------------------------------------------# SRCS = $(addprefix ${SRCS_DIR},${SRCS_NAME}) #------------------------------------------------------------------------------# diff --git a/libft/include/libft.h b/libft/include/libft.h index 96615fd..c31482c 100644 --- a/libft/include/libft.h +++ b/libft/include/libft.h @@ -15,7 +15,7 @@ #include <stddef.h> #include <stdarg.h> -#include <inttypes.h> +#include <stdint.h> # define FT_MIN_HEX_BASE "0123456789abcdef" # define FT_MAJ_HEX_BASE "0123456789ABCDEF" @@ -123,6 +123,9 @@ char *ft_nstr(size_t size); char *ft_strsubst(char *str, const char *pattern, const char *subst); +int8_t ft_strsubst_s(char *str, + const char *pattern, + const char *subst); char *ft_strtok_r(char *s, const char *delim, char **last); char *ft_strtok(char *s, const char *delim); char **ft_split(const char *s, char c); @@ -137,6 +140,7 @@ uint8_t ft_uintlen(unsigned long n); uint8_t ft_uintlen_base(unsigned long n, char *base); int ft_memcmp(const void *s1, const void *s2, size_t n); t_bool ft_isspace(int c); +t_bool ft_iswhitespace(int c); t_bool ft_ischarset(const char *charset, int c); t_bool ft_isupper(int c); t_bool ft_islower(int c); diff --git a/libft/src/ft_isspace.c b/libft/src/ft_isspace.c index b9b653f..8454c7c 100644 --- a/libft/src/ft_isspace.c +++ b/libft/src/ft_isspace.c @@ -11,7 +11,6 @@ /* ************************************************************************** */ #include <libft.h> -#include <inttypes.h> t_bool ft_isspace(int c) diff --git a/libft/src/ft_iswhitespace.c b/libft/src/ft_iswhitespace.c new file mode 100644 index 0000000..3bb5868 --- /dev/null +++ b/libft/src/ft_iswhitespace.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_iswhitespace.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:06:40 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:06:40 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include <libft.h> + +t_bool + ft_iswhitespace(int c) +{ + if (c == '\t' || + c == '\v' || + c == '\f' || + c == '\r' || + c == ' ') + return (TRUE); + return (FALSE); +} diff --git a/libft/src/ft_nrealloc.c b/libft/src/ft_nrealloc.c index 82975d1..6b42380 100644 --- a/libft/src/ft_nrealloc.c +++ b/libft/src/ft_nrealloc.c @@ -21,7 +21,7 @@ void if (!ptr) { - if (!(ptr = malloc(newsize))) + if ((ptr = malloc(newsize)) == NULL) return (NULL); return (ptr); } @@ -30,7 +30,7 @@ void ft_memdel((void*)&ptr); return (NULL); } - if (!(nptr = malloc(newsize))) + if ((nptr = malloc(newsize)) == NULL) return (ptr); ft_memcpy(nptr, ptr, oldsize); ft_memdel((void*)&ptr); diff --git a/libft/src/ft_strlcpy.c b/libft/src/ft_strlcpy.c index ed4d924..5076a69 100644 --- a/libft/src/ft_strlcpy.c +++ b/libft/src/ft_strlcpy.c @@ -16,9 +16,9 @@ size_t ft_strlcpy(char *dst, const char *src, size_t size) { - size_t src_len; + size_t src_len; - if (!dst || !src) + if (dst == NULL || src == NULL) return (0); src_len = ft_strlen(src); if (src_len + 1 < size) diff --git a/libft/src/ft_strsubst.c b/libft/src/ft_strsubst.c index 57e0ac8..3c5c643 100644 --- a/libft/src/ft_strsubst.c +++ b/libft/src/ft_strsubst.c @@ -20,10 +20,10 @@ char char *nstr; char *ptr; - if (!(ptr = ft_strnstr(str, pattern, ft_strlen(str)))) + if ((ptr = ft_strnstr(str, pattern, ft_strlen(str))) == NULL) return (NULL); nlen = ft_strlen(str) - ft_strlen(pattern) + ft_strlen(subst); - if (!(nstr = (char*)malloc((nlen + 1) * sizeof(char)))) + if ((nstr = (char*)malloc((nlen + 1) * sizeof(char))) == NULL) return (NULL); ft_memcpy(nstr, str, ptr - str); ft_memcpy(nstr + (ptr - str), subst, ft_strlen(subst)); diff --git a/libft/src/ft_strsubst_s.c b/libft/src/ft_strsubst_s.c new file mode 100644 index 0000000..ea61610 --- /dev/null +++ b/libft/src/ft_strsubst_s.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strsubst_s.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include <libft.h> +#include <stdint.h> +#include <stdlib.h> + +int8_t + ft_strsubst_s(char *str, const char *pattern, const char *subst) +{ + char *ptr; + + if ((ptr = ft_strnstr(str, pattern, ft_strlen(str))) == NULL) + return (1); + (void)ft_memmove(str + ((ptr - str) + ft_strlen(subst)), + str + ((ptr - str) + ft_strlen(pattern)), + ft_strlen(str + ((ptr - str) + ft_strlen(pattern))) + 1); + (void)ft_memmove(str + (ptr - str), + subst, + ft_strlen(subst)); + return (0); +} |