aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libft_mem.h5
-rw-r--r--include/libft_str.h4
-rw-r--r--src/mem/ft_realloc.c35
3 files changed, 41 insertions, 3 deletions
diff --git a/include/libft_mem.h b/include/libft_mem.h
index a15c020..e03b6fa 100644
--- a/include/libft_mem.h
+++ b/include/libft_mem.h
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/01/31 10:35:57 by cacharle #+# #+# */
-/* Updated: 2020/02/13 03:11:09 by cacharle ### ########.fr */
+/* Updated: 2020/08/01 15:28:15 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,6 +14,7 @@
# define LIBFT_MEM_H
# include <stddef.h>
+# include <stdlib.h>
# include "libft_types.h"
void ft_bzero(void *s, size_t n);
@@ -30,6 +31,8 @@ void *ft_memmem(const void *big, size_t big_len,
void ft_memset_pattern4(void *b, const void *pattern4,
size_t len);
+void *ft_realloc(void *ptr, size_t ptr_size, size_t size);
+
/*
** bloat ?
*/
diff --git a/include/libft_str.h b/include/libft_str.h
index 582ef00..fca5fbc 100644
--- a/include/libft_str.h
+++ b/include/libft_str.h
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/01/31 10:39:22 by cacharle #+# #+# */
-/* Updated: 2020/02/14 03:45:15 by cacharle ### ########.fr */
+/* Updated: 2020/08/01 18:55:31 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -72,13 +72,13 @@ int ft_strequ(char const *s1, char const *s2);
int ft_strnequ(char const *s1, char const *s2, size_t n);
char *ft_strtolower(char *s);
char *ft_strtoupper(char *s);
+char *ft_strnew(size_t size);
/*
** bloat ?
*/
/*
-** char *ft_strnew(size_t size);
** void ft_strdel(char **as);
** void ft_strclr(char *s);
*/
diff --git a/src/mem/ft_realloc.c b/src/mem/ft_realloc.c
new file mode 100644
index 0000000..6047de8
--- /dev/null
+++ b/src/mem/ft_realloc.c
@@ -0,0 +1,35 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_realloc.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <me@cacharle.xyz> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/08/01 15:23:14 by charles #+# #+# */
+/* Updated: 2020/08/01 15:27:35 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_mem.h"
+
+/*
+** \brief Modified version of realloc function
+** \param ptr Pointer to re allocate
+** \param ptr_size Current allocated size
+** \param size New allocated size
+** \return New allocation or NULL on error
+*/
+
+void *ft_realloc(void *ptr, size_t ptr_size, size_t size)
+{
+ void *ret;
+
+ if ((ret = malloc(size)) == NULL)
+ {
+ free(ptr);
+ return (NULL);
+ }
+ if (ptr != NULL)
+ ft_memcpy(ret, ptr, ptr_size);
+ return (ret);
+}