From eca7d2ebbc4db224a335837111771e5573bc30f2 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 11 Sep 2020 17:16:20 +0200 Subject: Better --- src/s_lalias.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/s_lalias.c (limited to 'src/s_lalias.c') diff --git a/src/s_lalias.c b/src/s_lalias.c new file mode 100644 index 0000000..3bbee14 --- /dev/null +++ b/src/s_lalias.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* s_lalias.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include "s_struct.h" + +t_lalias +*s_lalias_new(const char name[], const char val[]) +{ +} -- cgit v1.2.3 From 6e74d376f1a888f4730b9fa39df1b34b251eb3f5 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 11 Sep 2020 17:45:49 +0200 Subject: Aliases list in progress --- src/s_lalias.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) (limited to 'src/s_lalias.c') diff --git a/src/s_lalias.c b/src/s_lalias.c index 3bbee14..b4b9430 100644 --- a/src/s_lalias.c +++ b/src/s_lalias.c @@ -10,9 +10,85 @@ /* */ /* ************************************************************************** */ +#include +#include +#include +#include +#include + #include "s_struct.h" +void + s_lalias_rebind(t_lalias **lalias, + const char newname[], + const char newval[]) +{ + t_lalias *tmp; + + tmp = *lalias; + while (tmp != NULL && + ft_strncmp(tmp->name, newname, ft_strlen(newname) + 1) != 0) + { + tmp = tmp->next; + } + if (tmp == NULL) + { + return ; + } + ft_memdel((void*)&tmp->val); + if ((tmp->val = ft_strdup(newval)) == NULL) + { + ft_dprintf(STDERR_FILENO, "%s\n", strerror(errno)); + } +} + +void + s_lalias_add_front(t_lalias **lalias, t_lalias *new) +{ + if (lalias == NULL || new == NULL) + { + return ; + } + new->next = *lalias; + *lalias = new; +} + +void + s_lalias_clear(t_lalias **lalias) +{ + t_lalias *tmp; + t_lalias *renext; + + if (lalias == NULL) + return ; + tmp = *lalias; + while (tmp != NULL) + { + renext = tmp->next; + ft_memdel((void*)&tmp->name); + ft_memdel((void*)&tmp->val); + ft_memdel((void*)&tmp); + } + *lalias = NULL; +} + t_lalias -*s_lalias_new(const char name[], const char val[]) + *s_lalias_new(const char name[], const char val[]) { + t_lalias *link; + + if ((link = (t_lalias*)malloc(sizeof(t_lalias))) == NULL) + { + return (NULL); + } + if ((link->name = ft_strdup(name)) == NULL) + { + return (NULL); + } + if ((link->val = ft_strdup(val)) == NULL) + { + return (NULL); + } + link->next = NULL; + return (link); } -- cgit v1.2.3 From cf39c418a49808eb63cf4e1b5e2e363455f2da84 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 11 Sep 2020 17:58:05 +0200 Subject: alias utils prepared --- src/s_lalias.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/s_lalias.c') diff --git a/src/s_lalias.c b/src/s_lalias.c index b4b9430..eeac08b 100644 --- a/src/s_lalias.c +++ b/src/s_lalias.c @@ -19,15 +19,12 @@ #include "s_struct.h" void - s_lalias_rebind(t_lalias **lalias, - const char newname[], - const char newval[]) + s_lalias_rebind(t_lalias **lalias, const char name[], const char newval[]) { t_lalias *tmp; tmp = *lalias; - while (tmp != NULL && - ft_strncmp(tmp->name, newname, ft_strlen(newname) + 1) != 0) + while (tmp != NULL && ft_strncmp(tmp->name, name, ft_strlen(name) + 1) != 0) { tmp = tmp->next; } -- cgit v1.2.3 From 949f93b57b6411b07eb12110e0db37cdf393db0c Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Sat, 12 Sep 2020 16:33:02 +0200 Subject: Fuck --- src/s_lalias.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/s_lalias.c') diff --git a/src/s_lalias.c b/src/s_lalias.c index eeac08b..56b3985 100644 --- a/src/s_lalias.c +++ b/src/s_lalias.c @@ -72,7 +72,8 @@ void t_lalias *s_lalias_new(const char name[], const char val[]) { - t_lalias *link; + t_lalias *link; + static size_t id = 1; if ((link = (t_lalias*)malloc(sizeof(t_lalias))) == NULL) { @@ -86,6 +87,8 @@ t_lalias { return (NULL); } + link->id = id; link->next = NULL; + id += 1; return (link); } -- cgit v1.2.3 From b41111c07a40ee405fb8e8b6c178a315272db7ae Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Sat, 12 Sep 2020 19:16:21 +0200 Subject: Sorted alias --- src/s_lalias.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/s_lalias.c') diff --git a/src/s_lalias.c b/src/s_lalias.c index 56b3985..a31909b 100644 --- a/src/s_lalias.c +++ b/src/s_lalias.c @@ -65,6 +65,7 @@ void ft_memdel((void*)&tmp->name); ft_memdel((void*)&tmp->val); ft_memdel((void*)&tmp); + tmp = renext; } *lalias = NULL; } -- cgit v1.2.3