diff options
| author | JozanLeClerc <bousset.rudy@gmail.com> | 2020-10-02 19:26:46 +0200 | 
|---|---|---|
| committer | JozanLeClerc <bousset.rudy@gmail.com> | 2020-10-02 19:26:46 +0200 | 
| commit | d2fba05b0b14ad91f4115790cae82d8627bee2d7 (patch) | |
| tree | bb0916716627b841ff3c1ed70cc1970b89ce9a9c /src | |
| parent | In progress (diff) | |
| download | 42-minishell-d2fba05b0b14ad91f4115790cae82d8627bee2d7.tar.gz 42-minishell-d2fba05b0b14ad91f4115790cae82d8627bee2d7.tar.bz2 42-minishell-d2fba05b0b14ad91f4115790cae82d8627bee2d7.tar.xz 42-minishell-d2fba05b0b14ad91f4115790cae82d8627bee2d7.tar.zst 42-minishell-d2fba05b0b14ad91f4115790cae82d8627bee2d7.zip | |
Normed p_args
Diffstat (limited to '')
| -rw-r--r-- | src/p_args.c | 16 | 
1 files changed, 7 insertions, 9 deletions
| diff --git a/src/p_args.c b/src/p_args.c index 6431cfc..d005947 100644 --- a/src/p_args.c +++ b/src/p_args.c @@ -53,15 +53,14 @@ static char		*p_skip_whitespace(char *ptr)  ** TODO: quotes parse error  */ -static uint16_t	p_count_args(const char word[], size_t start[]) +static uint16_t	p_count_args(const char word[], +							size_t start[], +							uint16_t count, +							t_quote_mode mode)  {  	char			*ptr; -	t_quote_mode	mode; -	uint16_t		count;  	ptr = (char *)word; -	mode = Q_NONE; -	count = 1;  	ptr = p_skip_whitespace(ptr);  	start[0] = (ptr - word);  	while (*ptr != C_NUL) @@ -77,8 +76,7 @@ static uint16_t	p_count_args(const char word[], size_t start[])  		{  			ptr = p_skip_whitespace(ptr);  			start[count] = (ptr - word); -			if (*ptr != C_NUL) -				count += 1; +			count += (*ptr != C_NUL) ? (1) : (0);  			ptr -= 1;  		}  		ptr++; @@ -88,13 +86,13 @@ static uint16_t	p_count_args(const char word[], size_t start[])  char			**p_split_args(char word[])  { -	char	**words;  	size_t		start[512]; +	char		**words;  	uint16_t	argc;  	uint16_t	to_del;  	words = NULL; -	argc = p_count_args(word, start); +	argc = p_count_args(word, start, 1, Q_NONE);  	if ((words = (char**)malloc((argc + 1) * sizeof(char*))) == NULL)  		return (NULL);  	words[argc] = NULL; | 
