summaryrefslogtreecommitdiffstats
path: root/src/p_args.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/p_args.c')
-rw-r--r--src/p_args.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/p_args.c b/src/p_args.c
index 572b965..953fa17 100644
--- a/src/p_args.c
+++ b/src/p_args.c
@@ -43,6 +43,8 @@ static char
*p_skip_delim(char *ptr, char c)
{
ptr++;
+ if (*ptr == c)
+ return (++ptr);
while (*ptr != C_NULL && *ptr != c)
{
ptr++;
@@ -83,7 +85,9 @@ static uint16_t
else if (*ptr == C_SQUOTE || *ptr == C_DQUOTE)
{
ptr = p_skip_delim(ptr, *ptr);
- if (ft_iswhitespace(*ptr) == FALSE)
+ if (*ptr == C_NULL)
+ return (argc += 1);
+ else if (ft_iswhitespace(*ptr) == FALSE)
return (p_count_args(head, ptr, argc, start));
}
else if (*ptr == C_NULL)
@@ -116,6 +120,7 @@ static char
ptr = (char*)word;
argc = p_count_args(word, ptr, 0, start);
+ ft_printf("%hu\n", argc);
if ((words = (char**)malloc((argc + 1) * sizeof(char*))) == NULL)
return (NULL);
words[argc] = NULL;