From dcc57c744bfb24d37c390dc51d1ff9e9d7be795f Mon Sep 17 00:00:00 2001
From: JozanLeClerc <bousset.rudy@gmail.com>
Date: Sat, 3 Oct 2020 14:42:37 +0200
Subject: Normed p_subst_alias

---
 src/p_subst_alias.c | 19 ++++++++++---------
 src/p_subst_alias.h | 13 +++++++------
 2 files changed, 17 insertions(+), 15 deletions(-)

(limited to 'src')

diff --git a/src/p_subst_alias.c b/src/p_subst_alias.c
index 9bf77f7..674b9a3 100644
--- a/src/p_subst_alias.c
+++ b/src/p_subst_alias.c
@@ -45,13 +45,12 @@ static char		*p_set_ptr(char *ptr, char word[], t_bool *good, size_t locat[])
 			locat[1] = (ptr - word);
 			if (*good == TRUE)
 				break ;
-			else
+			else if ((*good = TRUE))
 			{
 				while (*ptr != C_NUL && ft_iswhitespace(*ptr))
 					ptr++;
 				locat[0] = (ptr - word);
 				ptr -= 1;
-				*good = TRUE;
 			}
 		}
 		ptr++;
@@ -75,10 +74,12 @@ static void		p_reset_used(size_t used[], t_bool reset, size_t *i)
 
 static size_t	p_subst_alias_return(struct s_subst_alias s,
 									char word[],
-									char used[],
+									size_t used[],
 									size_t i)
 {
-	if ((s.usedcmp = u_get_alias_value(s.value, s.tmp, ARG_MAX, msh)) != 0)
+	int64_t	j;
+
+	if ((s.usedcmp = u_get_alias_value(s.value, s.tmp, ARG_MAX, s.msh)) != 0)
 	{
 		s.good = TRUE;
 		j = -1;
@@ -87,11 +88,11 @@ static size_t	p_subst_alias_return(struct s_subst_alias s,
 		if (s.good == TRUE)
 		{
 			(void)ft_memmove(word + (s.locat[0] + ft_strlen(s.value)),
-							 word + s.locat[1],
-							 ft_strlen(word + s.locat[1]) + 1 * sizeof(char));
+				word + s.locat[1],
+				ft_strlen(word + s.locat[1]) + 1 * sizeof(char));
 			(void)ft_memmove(word + s.locat[0],
-							 s.value,
-							 ft_strlen(s.value) * sizeof(char));
+				s.value,
+				ft_strlen(s.value) * sizeof(char));
 			used[i] = s.usedcmp;
 			i++;
 			return (s.usedcmp);
@@ -106,8 +107,8 @@ size_t			p_subst_alias(char word[], t_bool reset, t_msh *msh)
 	static size_t			used[4096];
 	static size_t			i = 0;
 	char					*ptr;
-	int64_t					j;
 
+	s.msh = msh;
 	p_reset_used(used, reset, &i);
 	ptr = word;
 	while (*ptr != C_NUL && ft_iswhitespace(*ptr))
diff --git a/src/p_subst_alias.h b/src/p_subst_alias.h
index 2aa29fb..7a797f6 100644
--- a/src/p_subst_alias.h
+++ b/src/p_subst_alias.h
@@ -18,13 +18,14 @@
 
 # include "s_struct.h"
 
-struct s_subst_alias
+struct	s_subst_alias
 {
-	char			value[ARG_MAX];
-	char			tmp[255];
-	size_t			locat[2];
-	size_t			usedcmp;
-	t_bool			good;
+	char	value[ARG_MAX];
+	char	tmp[255];
+	size_t	locat[2];
+	t_msh	*msh;
+	size_t	usedcmp;
+	t_bool	good;
 };
 
 size_t	p_subst_alias(char word[], t_bool reset, t_msh *msh);
-- 
cgit v1.2.3