diff --git a/libftasm/Makefile b/libftasm/Makefile index 68bcfb3a..6567e785 100644 --- a/libftasm/Makefile +++ b/libftasm/Makefile @@ -6,7 +6,7 @@ # By: jhalford +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2017/02/07 16:09:36 by jhalford #+# #+# # -# Updated: 2017/03/02 16:21:52 by jhalford ### ########.fr # +# Updated: 2017/03/07 11:37:58 by ariard ### ########.fr # # # # **************************************************************************** # @@ -137,6 +137,7 @@ sstr/ft_sstrfree.c\ sstr/ft_sstrprint.c\ sstr/ft_sstrprint_fd.c\ sstr/ft_sstrsort.c\ +sstr/ft_sstrstr.c\ str/ft_atoi.c\ str/ft_convert_base.c\ str/ft_putaddr_fd.c\ @@ -154,6 +155,8 @@ str/ft_strcspn.c\ str/ft_strcut.c\ str/ft_strdel.c\ str/ft_strdup.c\ +str/ft_strdupchr.c\ +str/ft_strduptr.c\ str/ft_strequ.c\ str/ft_strinsert.c\ str/ft_stris.c\ @@ -162,11 +165,13 @@ str/ft_striteri.c\ str/ft_strjoin.c\ str/ft_strlcat.c\ str/ft_strlen.c\ +str/ft_strlenchr.c\ str/ft_strmap.c\ str/ft_strmapi.c\ str/ft_strncat.c\ str/ft_strncmp.c\ str/ft_strncpy.c\ +str/ft_strchrcpy.c\ str/ft_strnequ.c\ str/ft_strnew.c\ str/ft_strnstr.c\ diff --git a/libftasm/includes/sstr.h b/libftasm/includes/sstr.h index de3e27f0..ac65cd02 100644 --- a/libftasm/includes/sstr.h +++ b/libftasm/includes/sstr.h @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/18 13:16:25 by jhalford #+# #+# */ -/* Updated: 2017/02/18 13:16:48 by jhalford ### ########.fr */ +/* Updated: 2017/03/07 11:35:11 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,5 +21,6 @@ char **ft_sstrdup(char **list); void ft_sstrdel(char **sstr, int index); void ft_sstrfree(char **sstr); char *ft_sstrcat(char **sstr, char sep); +char *ft_sstrstr(char **sstr, char *find); #endif diff --git a/libftasm/includes/str.h b/libftasm/includes/str.h index 0a91a391..44325726 100644 --- a/libftasm/includes/str.h +++ b/libftasm/includes/str.h @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/18 13:05:53 by jhalford #+# #+# */ -/* Updated: 2017/03/02 16:54:21 by jhalford ### ########.fr */ +/* Updated: 2017/03/07 11:36:58 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,9 +22,13 @@ int ft_toupper(int c); int ft_tolower(int c); size_t ft_strlen(const char *s); +size_t ft_strlenchr(const char *s, char c); char *ft_strdup(const char *s1); +char *ft_strdupchr(const char *str, char c); +char *ft_strduptr(char *str, int (*is)(int c)); char *ft_strcpy(char *dst, const char *src); char *ft_strncpy(char *dst, const char *src, size_t len); +char *ft_strchrcpy(char *dst, const char *str, char c); char *ft_strcat(char *s1, const char *s2); char *ft_strncat(char *s1, const char *s2, size_t n); size_t ft_strlcat(char *dst, const char *src, size_t size); diff --git a/libftasm/src/char/ft_isalpha.c b/libftasm/src/char/ft_isalpha.c index 29f532a9..ac5d276e 100644 --- a/libftasm/src/char/ft_isalpha.c +++ b/libftasm/src/char/ft_isalpha.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 14:56:24 by jhalford #+# #+# */ -/* Updated: 2016/11/03 15:32:00 by jhalford ### ########.fr */ +/* Updated: 2017/03/07 11:59:16 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/math/ft_itoa.c b/libftasm/src/math/ft_itoa.c index c67a6f39..b1342f1c 100644 --- a/libftasm/src/math/ft_itoa.c +++ b/libftasm/src/math/ft_itoa.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 14:57:10 by jhalford #+# #+# */ -/* Updated: 2016/11/04 13:11:28 by jhalford ### ########.fr */ +/* Updated: 2017/03/07 12:08:47 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/mem/ft_memalloc.c b/libftasm/src/mem/ft_memalloc.c index 432ed9ac..e923d08b 100644 --- a/libftasm/src/mem/ft_memalloc.c +++ b/libftasm/src/mem/ft_memalloc.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 14:57:25 by jhalford #+# #+# */ -/* Updated: 2016/12/07 16:23:30 by jhalford ### ########.fr */ +/* Updated: 2017/03/06 15:41:01 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/mem/ft_memccpy.c b/libftasm/src/mem/ft_memccpy.c index 699c2836..ee5d8071 100644 --- a/libftasm/src/mem/ft_memccpy.c +++ b/libftasm/src/mem/ft_memccpy.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 14:57:26 by jhalford #+# #+# */ -/* Updated: 2016/11/03 15:36:05 by jhalford ### ########.fr */ +/* Updated: 2017/03/06 15:36:13 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/mem/ft_memcpy.c b/libftasm/src/mem/ft_memcpy.c index cc5b3efc..a8edafaa 100644 --- a/libftasm/src/mem/ft_memcpy.c +++ b/libftasm/src/mem/ft_memcpy.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 14:57:31 by jhalford #+# #+# */ -/* Updated: 2016/12/07 15:34:47 by jhalford ### ########.fr */ +/* Updated: 2017/03/06 15:39:36 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/mem/ft_memset.c b/libftasm/src/mem/ft_memset.c index cae3e999..b99906e2 100644 --- a/libftasm/src/mem/ft_memset.c +++ b/libftasm/src/mem/ft_memset.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 14:57:36 by jhalford #+# #+# */ -/* Updated: 2016/11/03 14:57:36 by jhalford ### ########.fr */ +/* Updated: 2017/03/06 15:39:24 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/sstr/ft_sstradd.c b/libftasm/src/sstr/ft_sstradd.c index fef02c2b..3d602b23 100644 --- a/libftasm/src/sstr/ft_sstradd.c +++ b/libftasm/src/sstr/ft_sstradd.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 18:03:58 by jhalford #+# #+# */ -/* Updated: 2016/12/07 17:39:37 by jhalford ### ########.fr */ +/* Updated: 2017/03/07 11:32:39 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/sstr/ft_sstrstr.c b/libftasm/src/sstr/ft_sstrstr.c new file mode 100644 index 00000000..53a82346 --- /dev/null +++ b/libftasm/src/sstr/ft_sstrstr.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_sstrstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: ariard +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2017/03/07 11:29:54 by ariard #+# #+# */ +/* Updated: 2017/03/07 12:44:17 by ariard ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +char *ft_sstrstr(char **sstr, char *find) +{ + int size; + + if (!sstr) + return (NULL); + size = ft_strlen(find); + while ((*sstr)) + { + DG("size : %d", size); + DG("sstr : %s", *sstr); + DG("find : %s", find); + if (ft_strncmp(*sstr, find, size) == 0) + return (*sstr); + sstr++; + } + return (NULL); +} diff --git a/libftasm/src/str/ft_strchrcpy.c b/libftasm/src/str/ft_strchrcpy.c new file mode 100644 index 00000000..06b88879 --- /dev/null +++ b/libftasm/src/str/ft_strchrcpy.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strchrcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: ariard +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2016/12/01 15:43:59 by ariard #+# #+# */ +/* Updated: 2017/03/07 11:08:55 by ariard ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +char *ft_strchrcpy(char *dst, const char *src, char c) +{ + while (*src && *src != c) + *dst++ = *src++; + *dst = '\0'; + return (dst); +} diff --git a/libftasm/src/str/ft_strdup.c b/libftasm/src/str/ft_strdup.c index d1064ad8..cbcc1a2e 100644 --- a/libftasm/src/str/ft_strdup.c +++ b/libftasm/src/str/ft_strdup.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/07 14:25:41 by jhalford #+# #+# */ -/* Updated: 2017/01/10 10:56:33 by jhalford ### ########.fr */ +/* Updated: 2017/03/07 11:05:48 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/str/ft_strdupchr.c b/libftasm/src/str/ft_strdupchr.c new file mode 100644 index 00000000..97340f13 --- /dev/null +++ b/libftasm/src/str/ft_strdupchr.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strdupchr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: ariard +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2017/03/07 11:01:15 by ariard #+# #+# */ +/* Updated: 2017/03/07 11:24:27 by ariard ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +char *ft_strdupchr(const char *str, char c) +{ + char *new; + + if (!str || !(new = ft_memalloc(sizeof(*new) * (ft_strlenchr(str, c) + 1)))) + return (NULL); + ft_strchrcpy(new, str, c); + return (new); +} diff --git a/libftasm/src/str/ft_strduptr.c b/libftasm/src/str/ft_strduptr.c new file mode 100644 index 00000000..ca2f1180 --- /dev/null +++ b/libftasm/src/str/ft_strduptr.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strduptr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: ariard +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2017/01/06 13:37:12 by ariard #+# #+# */ +/* Updated: 2017/03/07 12:41:20 by ariard ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +char *ft_strduptr(char *str, int (*is)(int c)) +{ + char *new; + char *tmp; + + new = ft_memalloc(sizeof(char *) * ft_strlen(str) + 1); + tmp = new; + while (*str && (is)((int)*str)) + *new++ = *str++; + *new = 0; + return (tmp); +} diff --git a/libftasm/src/str/ft_stris.c b/libftasm/src/str/ft_stris.c index 71fb0b64..3fc93a3b 100644 --- a/libftasm/src/str/ft_stris.c +++ b/libftasm/src/str/ft_stris.c @@ -6,7 +6,7 @@ /* By: ariard +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/03/02 15:11:28 by ariard #+# #+# */ -/* Updated: 2017/03/02 16:54:25 by jhalford ### ########.fr */ +/* Updated: 2017/03/07 11:44:29 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/str/ft_strlen.c b/libftasm/src/str/ft_strlen.c index a4661200..6b6f4269 100644 --- a/libftasm/src/str/ft_strlen.c +++ b/libftasm/src/str/ft_strlen.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 14:58:22 by jhalford #+# #+# */ -/* Updated: 2017/01/22 17:46:37 by jhalford ### ########.fr */ +/* Updated: 2017/03/07 11:06:41 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libftasm/src/str/ft_strlenchr.c b/libftasm/src/str/ft_strlenchr.c new file mode 100644 index 00000000..34882af2 --- /dev/null +++ b/libftasm/src/str/ft_strlenchr.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlenchr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: ariard +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2016/12/01 16:10:54 by ariard #+# #+# */ +/* Updated: 2017/03/07 11:30:02 by ariard ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +size_t ft_strlenchr(const char *s, char c) +{ + size_t i; + + i = 0; + while (*s && *s++ != c) + i++; + return (i); +}