mirror of
https://github.com/KeyZox71/ft_minipowershell.git
synced 2025-03-15 11:26:51 +01:00
「🔨」 fix: fixed some things.
This commit is contained in:
@ -6,7 +6,7 @@
|
|||||||
/* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */
|
/* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/04/24 11:18:04 by adjoly #+# #+# */
|
/* Created: 2024/04/24 11:18:04 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/07/21 13:09:17 by mmoussou ### ########.fr */
|
/* Updated: 2024/07/21 17:47:45 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
@ -6,17 +6,51 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/05/25 15:06:15 by adjoly #+# #+# */
|
/* Created: 2024/05/25 15:06:15 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/07/15 16:22:01 by adjoly ### ########.fr */
|
/* Updated: 2024/07/21 17:51:56 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "tokenizer.h"
|
#include "tokenizer.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "parsing.h"
|
||||||
|
|
||||||
|
size_t __cpy_arg(char *dst, char *src);
|
||||||
|
size_t __get_len_arg(char *s);
|
||||||
|
|
||||||
|
char *__redir_filename_cpy(char *redir_s)
|
||||||
|
{
|
||||||
|
char *filename;
|
||||||
|
size_t len;
|
||||||
|
size_t i;
|
||||||
|
size_t j;
|
||||||
|
char *tmp;
|
||||||
|
|
||||||
|
tmp = ft_calloc(__get_len_arg(redir_s) + 1, sizeof(char));
|
||||||
|
len = __cpy_arg(tmp, redir_s);
|
||||||
|
printf("%zu\n", len);
|
||||||
|
i = 0;
|
||||||
|
j = 0;
|
||||||
|
filename = ft_calloc(len + 1, sizeof(char));
|
||||||
|
while (i < len)
|
||||||
|
{
|
||||||
|
if (tmp[i] == DOUBLE || tmp[i] == SINGLE)
|
||||||
|
i++;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
filename[j] = tmp[i];
|
||||||
|
i++;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
filename[j] = 0;
|
||||||
|
free(tmp);
|
||||||
|
return (filename);
|
||||||
|
}
|
||||||
|
|
||||||
t_redirection *__to_redir(char *redir_s)
|
t_redirection *__to_redir(char *redir_s)
|
||||||
{
|
{
|
||||||
t_redirection *redir;
|
t_redirection *redir;
|
||||||
char *tmp;
|
// char *tmp;
|
||||||
|
|
||||||
redir = ft_calloc(sizeof(t_redirection), 1);
|
redir = ft_calloc(sizeof(t_redirection), 1);
|
||||||
redir->sign = __to_redir_sign(redir_s);
|
redir->sign = __to_redir_sign(redir_s);
|
||||||
@ -27,12 +61,13 @@ t_redirection *__to_redir(char *redir_s)
|
|||||||
redir_s++;
|
redir_s++;
|
||||||
while (*redir_s && *redir_s == ' ')
|
while (*redir_s && *redir_s == ' ')
|
||||||
redir_s++;
|
redir_s++;
|
||||||
tmp = redir_s;
|
// tmp = redir_s;
|
||||||
if (!ft_isalnum(*tmp) && *tmp != '/' && *tmp != '.')
|
//if (!ft_isalnum(*tmp) && *tmp != '/' && *tmp != '.')
|
||||||
return (redir);
|
//return (redir);
|
||||||
while (*tmp && (ft_isalnum(*tmp) || *tmp == '/' || *tmp == '.'))
|
//while (*tmp && (ft_isalnum(*tmp) || *tmp == '/' || *tmp == '.'))
|
||||||
tmp++;
|
// tmp++;
|
||||||
redir->file_name = ft_calloc(tmp - redir_s + 1, sizeof(char));
|
//redir->file_name = ft_calloc(tmp - redir_s + 1, sizeof(char));
|
||||||
ft_strlcpy(redir->file_name, redir_s, tmp - redir_s + 1);
|
//ft_strlcpy(redir->file_name, redir_s, tmp - redir_s + 1);
|
||||||
|
redir->file_name = __redir_filename_cpy(redir_s);
|
||||||
return (redir);
|
return (redir);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/05/20 21:05:04 by adjoly #+# #+# */
|
/* Created: 2024/05/20 21:05:04 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/07/18 17:00:51 by adjoly ### ########.fr */
|
/* Updated: 2024/07/21 17:58:47 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -15,6 +15,8 @@
|
|||||||
#include "parsing.h"
|
#include "parsing.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
size_t __get_len_arg(char *s);
|
||||||
|
|
||||||
size_t __get_sizeof_redir(char *redir_s, t_redirection *redir)
|
size_t __get_sizeof_redir(char *redir_s, t_redirection *redir)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
@ -23,15 +25,15 @@ size_t __get_sizeof_redir(char *redir_s, t_redirection *redir)
|
|||||||
if (!redir_s || !redir)
|
if (!redir_s || !redir)
|
||||||
return (0);
|
return (0);
|
||||||
else if (redir->sign == OUT_APPEND || redir->sign == HEREDOC)
|
else if (redir->sign == OUT_APPEND || redir->sign == HEREDOC)
|
||||||
i = 2;
|
i = 1;
|
||||||
else
|
else
|
||||||
i = 0;
|
i = 0;
|
||||||
if (!redir->file_name)
|
if (!redir->file_name)
|
||||||
return (i);
|
return (i);
|
||||||
tmp = redir_s;
|
tmp = redir_s + i;
|
||||||
while (*++tmp && *tmp == ' ')
|
while (*++tmp && *tmp == ' ')
|
||||||
i++;
|
i++;
|
||||||
i += ft_strlen(redir->file_name);
|
i += __get_len_arg(tmp);
|
||||||
return (i);
|
return (i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user