finnish the parsing

This commit is contained in:
Maoake Teriierooiterai
2026-01-08 15:04:02 +01:00
parent 9bc53094a9
commit 4af87fa98a
4 changed files with 32 additions and 12 deletions

View File

@@ -22,5 +22,6 @@ int ft_strncmp(const char *s1, const char *s2, int n);
size_t ft_strlen(const char *s);
char *ft_substr(char const *s, unsigned int start, size_t len);
char **ft_split(char const *s, char c);
void free_tab(char **tab);
#endif

View File

@@ -54,7 +54,7 @@ static size_t len_word(size_t i, char const *s, char c)
return (len);
}
static void free_tab(char **tab)
void free_tab(char **tab)
{
int i;

View File

@@ -16,9 +16,23 @@
static int wich_mod(int mod)
{
if (mod == 0 || mod == 3)
if (mod == 0)
return (1);
else if (mod == 1)
return (2);
else if (mod == 2)
return (3);
return (0);
}
static int len_split(char **tab)
{
int i;
i = 0;
while (tab[i])
i++;
return (i);
}
static t_stack *parsing(int argc, char **argv, int mod)
@@ -47,19 +61,21 @@ static t_stack *parsing(int argc, char **argv, int mod)
return (first);
}
static t_stack *special_parsing(int argc, char **argv, int mod)
static t_stack *special_parsing(char **argv, int mod)
{
t_stacks *piles;
t_stack *first;
t_stack *new;
t_stack *a;
char **split_tab;
int len;
int i;
i = 0;
split_tab = ft_split(arv[wich_mod(mod)]);
i = mod % 3 + 1;
split_tab = ft_split(argv[i], ' ');
if (!split_tab)
return (NULL);
while ()
len = len_split(split_tab);
a = parsing(len, split_tab, mod);
free_tab(split_tab);
return (a);
}
t_stacks *init_piles(int argc, char **argv, int mod)
@@ -72,7 +88,10 @@ t_stacks *init_piles(int argc, char **argv, int mod)
stacks->b = NULL;
if (!stacks)
return (NULL);
if (mod == 0 || mod == 1 || mod == 2)
a = parsing(argc, argv, mod);
else
a = special_parsing(argv, mod);
stacks->a = a;
return (stacks);
}

View File

@@ -19,7 +19,7 @@
int test1(int argc, char **argv)
{
t_stacks *piles;
//t_tab *preset;
t_tab *preset;
piles = NULL;
if (argc > 1)