aboutsummaryrefslogtreecommitdiff
path: root/src/dstr
diff options
context:
space:
mode:
Diffstat (limited to 'src/dstr')
-rw-r--r--src/dstr/ft_dstrnew.c14
-rw-r--r--src/dstr/ft_dstrwrap.c25
2 files changed, 32 insertions, 7 deletions
diff --git a/src/dstr/ft_dstrnew.c b/src/dstr/ft_dstrnew.c
index 8ae4a64..fe9ce46 100644
--- a/src/dstr/ft_dstrnew.c
+++ b/src/dstr/ft_dstrnew.c
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/04/03 13:54:52 by charles #+# #+# */
-/* Updated: 2020/04/04 19:50:38 by charles ### ########.fr */
+/* Updated: 2020/06/09 17:35:14 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -21,12 +21,12 @@
t_ftdstr *ft_dstrnew(char *from)
{
- t_ftdstr *dstr;
+ char *clone;
+ t_ftdstr *ret;
- if ((dstr = (t_ftdstr*)malloc(sizeof(t_ftdstr))) == NULL ||
- (dstr->str = ft_strdup(from)) == NULL)
+ if ((clone = ft_strdup(from)) == NULL)
return (NULL);
- dstr->length = ft_strlen(from);
- dstr->capacity = dstr->length + 1;
- return (dstr);
+ if ((ret = ft_dstrwrap(clone)) == NULL)
+ free(clone);
+ return (ret);
}
diff --git a/src/dstr/ft_dstrwrap.c b/src/dstr/ft_dstrwrap.c
new file mode 100644
index 0000000..0acf684
--- /dev/null
+++ b/src/dstr/ft_dstrwrap.c
@@ -0,0 +1,25 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_dstrwrap.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/06/09 17:32:30 by charles #+# #+# */
+/* Updated: 2020/06/09 17:33:57 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_dstr.h"
+
+t_ftdstr *ft_dstrwrap(char *str)
+{
+ t_ftdstr *dstr;
+
+ if ((dstr = (t_ftdstr*)malloc(sizeof(t_ftdstr))) == NULL)
+ return (NULL);
+ dstr->str = str;
+ dstr->length = ft_strlen(str);
+ dstr->capacity = dstr->length + 1;
+ return (dstr);
+}