From 89c27ba72e11665823cba7023f694a8639891ccb Mon Sep 17 00:00:00 2001
From: JozanLeClerc <bousset.rudy@gmail.com>
Date: Thu, 10 Sep 2020 19:53:00 +0200
Subject: New libft func, cool stuff

---
 libft/Makefile            |  1 +
 libft/include/libft.h     |  5 ++++-
 libft/src/ft_strsubst_s.c | 31 +++++++++++++++++++++++++++++++
 3 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 libft/src/ft_strsubst_s.c

(limited to 'libft')

diff --git a/libft/Makefile b/libft/Makefile
index 431ec0b..3c11199 100644
--- a/libft/Makefile
+++ b/libft/Makefile
@@ -112,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 68b8d9b..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);
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);
+}
-- 
cgit v1.2.3