fix norm all files

This commit is contained in:
kinou-p 2022-04-19 13:27:37 +02:00
parent c492d6416d
commit 0af263e106
13 changed files with 119 additions and 213 deletions

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/21 18:30:26 by sadjigui #+# #+# */ /* Created: 2022/03/21 18:30:26 by sadjigui #+# #+# */
/* Updated: 2022/04/19 12:32:13 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:15:09 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -30,7 +30,6 @@ void del_one(t_s_cmd *cmd)
cmd->big_cmd->env[j] = ft_strdup(r); cmd->big_cmd->env[j] = ft_strdup(r);
else else
cmd->big_cmd->env[j] = ft_strdup("PWD=/"); cmd->big_cmd->env[j] = ft_strdup("PWD=/");
if (r) if (r)
free(r); free(r);
} }
@ -38,15 +37,6 @@ void del_one(t_s_cmd *cmd)
void add_one(t_s_cmd *cmd) void add_one(t_s_cmd *cmd)
{ {
// char *r;
// char *s;
// s = ft_strjoin(cmd->big_cmd->env[find_it(cmd->big_cmd->env, "PWD")], "/");
// r = ft_strjoin(s, str);
// // free(cmd->big_cmd->env[find_it(cmd->big_cmd->env, "PWD")]);
// cmd->big_cmd->env[find_it(cmd->big_cmd->env, "PWD")] = ft_strdup(r);
// free(r);
// free(s);
char p[1024]; char p[1024];
char *str; char *str;
int i; int i;
@ -59,31 +49,17 @@ void add_one(t_s_cmd *cmd)
void change_path(t_s_cmd *cmd) void change_path(t_s_cmd *cmd)
{ {
// char **tab;
int old; int old;
int pwd; int pwd;
// tab = ft_split(cmd->args[1], '/');
if (find_it(cmd->big_cmd->env, "OLDPWD") != -1) if (find_it(cmd->big_cmd->env, "OLDPWD") != -1)
{ {
pwd = find_it(cmd->big_cmd->env, "PWD"); pwd = find_it(cmd->big_cmd->env, "PWD");
old = find_it(cmd->big_cmd->env, "OLDPWD"); old = find_it(cmd->big_cmd->env, "OLDPWD");
free(cmd->big_cmd->env[old]); free(cmd->big_cmd->env[old]);
cmd->big_cmd->env[old] = ft_strjoin("OLD", cmd->big_cmd->env[pwd]); cmd->big_cmd->env[old] = ft_strjoin("OLD", cmd->big_cmd->env[pwd]);
// old = 0;
// while (tab[old])
// {
// if (ft_strcmp(tab[old], "..") == 0)
// del_one(cmd);
// else
// old++;
// }
} }
add_one(cmd); add_one(cmd);
// if (tab)
// free_double(tab);
} }
void reboot_pwd(t_s_cmd *cmd, int i) void reboot_pwd(t_s_cmd *cmd, int i)
@ -112,15 +88,16 @@ void check_home(t_s_cmd *cmd, char *p)
len_home = ft_strlen(cmd->big_cmd->env[home]); len_home = ft_strlen(cmd->big_cmd->env[home]);
old_pwd = find_it(cmd->big_cmd->env, "OLDPWD"); old_pwd = find_it(cmd->big_cmd->env, "OLDPWD");
pwd = find_it(cmd->big_cmd->env, "PWD"); pwd = find_it(cmd->big_cmd->env, "PWD");
p = ft_substr(cmd->big_cmd->env[home], 5, ft_strlen(cmd->big_cmd->env[len_home])); p = ft_substr(cmd->big_cmd->env[home], 5, ft_strlen(cmd->big_cmd->env[len_home]));
if (chdir(p) == 0) if (chdir(p) == 0)
{
if (find_it(cmd->big_cmd->env, "PWD") != -1) if (find_it(cmd->big_cmd->env, "PWD") != -1)
{ {
if (find_it(cmd->big_cmd->env, "OLDPWD") != -1) if (find_it(cmd->big_cmd->env, "OLDPWD") != -1)
cmd->big_cmd->env[old_pwd] = ft_strjoin("OLD", cmd->big_cmd->env[pwd]); cmd->big_cmd->env[old_pwd] = ft_strjoin("OLD", cmd->big_cmd->env[pwd]);
cmd->big_cmd->env[pwd] = ft_strjoin("PWD=", p); cmd->big_cmd->env[pwd] = ft_strjoin("PWD=", p);
} }
}
free(p); free(p);
} }
@ -133,19 +110,11 @@ int open_directory(t_s_cmd *cmd)
if (find_it(cmd->big_cmd->env, "PWD") != -1) if (find_it(cmd->big_cmd->env, "PWD") != -1)
j = size_path(cmd->big_cmd->env); j = size_path(cmd->big_cmd->env);
if (cmd->nb_args > 2) if (cmd->nb_args > 2)
{
// ft_putstr_fd("Minishell: cd: too many arguments\n", 2);
// return ;
return (cd_error(cmd, "Minishell: cd: too many arguments", 1)); return (cd_error(cmd, "Minishell: cd: too many arguments", 1));
}
if (!cmd->args[1]) if (!cmd->args[1])
{ {
if (find_it(cmd->big_cmd->env, "HOME") < 0) if (find_it(cmd->big_cmd->env, "HOME") < 0)
{
// ft_putstr_fd("Minishell: cd: HOME not set\n", 2);
// return ;
return (cd_error(cmd, "Minishell: cd: HOME not set", 1)); return (cd_error(cmd, "Minishell: cd: HOME not set", 1));
}
check_home(cmd, p); check_home(cmd, p);
} }
if (tab_len(cmd->args) == 2) if (tab_len(cmd->args) == 2)
@ -167,4 +136,3 @@ int open_directory(t_s_cmd *cmd)
} }
return (check_return(cmd, 0)); return (check_return(cmd, 0));
} }

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/11 20:52:56 by sadjigui #+# #+# */ /* Created: 2022/03/11 20:52:56 by sadjigui #+# #+# */
/* Updated: 2022/04/09 04:55:48 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:19:31 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -32,6 +32,7 @@ int ft_echo(t_s_cmd *d)
i++; i++;
} }
if (d->args[i]) if (d->args[i])
{
while (d->args[i]) while (d->args[i])
{ {
printf("%s", d->args[i]); printf("%s", d->args[i]);
@ -39,6 +40,7 @@ int ft_echo(t_s_cmd *d)
printf(" "); printf(" ");
i++; i++;
} }
}
if (is_option == 0) if (is_option == 0)
printf("\n"); printf("\n");
return (check_return(d, 0)); return (check_return(d, 0));

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/04/09 21:09:47 by apommier #+# #+# */ /* Created: 2022/04/09 21:09:47 by apommier #+# #+# */
/* Updated: 2022/04/18 03:10:15 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:22:34 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/04/15 11:23:32 by apommier #+# #+# */ /* Created: 2022/04/15 11:23:32 by apommier #+# #+# */
/* Updated: 2022/04/19 09:04:57 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:17:35 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -41,7 +41,6 @@ void ft_exit(t_s_cmd *cmd)
} }
else if (cmd->nb_args == 1) else if (cmd->nb_args == 1)
exit_shell(cmd->big_cmd, 0); exit_shell(cmd->big_cmd, 0);
while (cmd->args[1][++i]) while (cmd->args[1][++i])
{ {
if ((!ft_isdigit(cmd->args[1][i]) && !(cmd->args[1][i] == '-' && ft_isdigit(cmd->args[1][i + 1])))) if ((!ft_isdigit(cmd->args[1][i]) && !(cmd->args[1][i] == '-' && ft_isdigit(cmd->args[1][i + 1]))))

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/02/28 23:26:59 by sadjigui #+# #+# */ /* Created: 2022/02/28 23:26:59 by sadjigui #+# #+# */
/* Updated: 2022/04/09 04:59:38 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:22:08 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -29,26 +29,6 @@ int check_variable(char *variable)
return (0); return (0);
} }
// char *check_value(char *value)
// {
// int i;
// char *dest;
// i = find_len(value, 0, '=') + 1;
// if (value[i] == '"')
// {
// printf("wait\n");
// dest = ft_strdup(" ");
// // dest = define_double_quotes(value);
// }
// else{
// dest = ft_substr(value, 0, find_len(value, 0, ' '));
// // printf("brrrrrrr------\n");
// }
// return (dest);
// }
int ft_export_variable(t_s_cmd *cmd, char *variable) int ft_export_variable(t_s_cmd *cmd, char *variable)
{ {
char *dest; char *dest;
@ -61,7 +41,6 @@ int ft_export_variable(t_s_cmd *cmd, char *variable)
ft_putstr_fd(variable, 2); ft_putstr_fd(variable, 2);
ft_putstr_fd("': not a valid identifier\n", 2); ft_putstr_fd("': not a valid identifier\n", 2);
return (check_return(cmd, 1)); return (check_return(cmd, 1));
} }
dest = ft_strdup(variable); dest = ft_strdup(variable);
unset = ft_substr(dest, 0, find_len(dest, 0, '=')); unset = ft_substr(dest, 0, find_len(dest, 0, '='));
@ -91,10 +70,12 @@ int ft_export(t_s_cmd *cmd)
if (!cmd->args[i]) if (!cmd->args[i])
lone_export(cmd); lone_export(cmd);
else if (cmd->args[i]) else if (cmd->args[i])
{
while (cmd->args[i]) while (cmd->args[i])
{ {
j = ft_export_variable(cmd, cmd->args[i]); j = ft_export_variable(cmd, cmd->args[i]);
i++; i++;
} }
}
return (j); return (j);
} }

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/07 17:58:25 by sadjigui #+# #+# */ /* Created: 2022/03/07 17:58:25 by sadjigui #+# #+# */
/* Updated: 2022/04/09 04:55:48 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:18:17 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -50,15 +50,12 @@ void print_export(char *tmp)
str1 = ft_substr(tmp, 0, find_len(tmp, i, '=')); str1 = ft_substr(tmp, 0, find_len(tmp, i, '='));
i = find_len(tmp, 0, '=') + 1; i = find_len(tmp, 0, '=') + 1;
str2 = ft_substr(tmp, i, ft_strlen(tmp)); str2 = ft_substr(tmp, i, ft_strlen(tmp));
// str2 = ft_substr(tmp, i, find_len(tmp, i, '\0'));
printf("declare -x %s", str1); printf("declare -x %s", str1);
if (next_space(str2, 0) != '\0') if (next_space(str2, 0) != '\0')
printf("=\"%s\"", str2); printf("=\"%s\"", str2);
printf("\n"); printf("\n");
free(str1); free(str1);
free(str2); free(str2);
} }
void lone_export(t_s_cmd *cmd) void lone_export(t_s_cmd *cmd)

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/02/28 17:17:01 by sadjigui #+# #+# */ /* Created: 2022/02/28 17:17:01 by sadjigui #+# #+# */
/* Updated: 2022/04/09 04:55:48 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:17:02 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -33,36 +33,27 @@ void ft_shlvl(char **env)
env[index] = ft_strjoin("SHLVL=", str); env[index] = ft_strjoin("SHLVL=", str);
free (str); free (str);
printf("%s\n", env[index]); printf("%s\n", env[index]);
} }
} }
void register_env(t_s_cmd *cmd, char *variable) void register_env(t_s_cmd *cmd, char *variable)
{ {
char **tmp = NULL; char **tmp;
int i; int i;
i = 0;
// tmp = NULL; i = 0;
// printf("TABLEN %d", tab_len(cmd->big_cmd->env)); tmp = NULL;
tmp = (char **)malloc(sizeof(char *) * (tab_len(cmd->big_cmd->env) + 2)); tmp = (char **)malloc(sizeof(char *) * (tab_len(cmd->big_cmd->env) + 2));
if (!tmp) if (!tmp)
printf("no tmp\n"); printf("no tmp\n");
while (cmd->big_cmd->env[i]) while (cmd->big_cmd->env[i])
{ {
tmp[i] = ft_strdup(cmd->big_cmd->env[i]); tmp[i] = ft_strdup(cmd->big_cmd->env[i]);
// printf("ici\n");
// printf("%s\n", "let me in");
i++; i++;
} }
// printf("i: %d %s\n",i,tmp[i]);
// printf("%s\n", "brrrrrrr");
tmp[i] = ft_strdup(variable); tmp[i] = ft_strdup(variable);
tmp[i + 1] = NULL; tmp[i + 1] = NULL;
// printf("debut %p\n", tmp[2]);
// printf("1--------------------\n");
free_double(cmd->big_cmd->env); free_double(cmd->big_cmd->env);
// printf("1--------------------\n");
cmd->big_cmd->env = (char **)malloc(sizeof(char *) * (tab_len(tmp) + 1)); cmd->big_cmd->env = (char **)malloc(sizeof(char *) * (tab_len(tmp) + 1));
if (!cmd->big_cmd->env) if (!cmd->big_cmd->env)
printf("no env\n"); printf("no env\n");
@ -70,27 +61,11 @@ void register_env(t_s_cmd *cmd, char *variable)
while (tmp[i]) while (tmp[i])
{ {
cmd->big_cmd->env[i] = ft_strdup(tmp[i]); cmd->big_cmd->env[i] = ft_strdup(tmp[i]);
// if (tmp[size])
// free(tmp[size]);
// printf("tmp----%s\n", tmp[size]);
// printf("envy---%s\n", cmd->big_cmd->env[size]);
i++; i++;
} }
cmd->big_cmd->env[i] = NULL; cmd->big_cmd->env[i] = NULL;
// printf("2--------------------\n");
if (tmp) if (tmp)
free_double(tmp); free_double(tmp);
// printf("2--------------------\n");
// int i = 0;
// while (tmp[i])
// {
// printf("nano");
// free(tmp[i]);
// i++;
// }
// if(tmp)
// free(tmp);
// join_variable(cmd, variable, size, tmp);
} }
void ft_env(t_s_cmd *cmd, char **env) void ft_env(t_s_cmd *cmd, char **env)
@ -110,16 +85,6 @@ void ft_env(t_s_cmd *cmd, char **env)
cmd->big_cmd->env[i] = NULL; cmd->big_cmd->env[i] = NULL;
} }
// int find_pwd(t_s_cmd *cmd)
// {
// int i;
// i = 0;
// while (cmd->big_cmd->env[i] && ft_strncmp(cmd->big_cmd->env[i], "PWD=", 4) != 0)
// i++;
// return (i);
// }
void init_s_cmd(t_s_cmd *cmd, char **env) void init_s_cmd(t_s_cmd *cmd, char **env)
{ {
ft_env(cmd, env); ft_env(cmd, env);

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/11 18:26:29 by sadjigui #+# #+# */ /* Created: 2022/03/11 18:26:29 by sadjigui #+# #+# */
/* Updated: 2022/04/09 04:59:24 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:18:52 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -35,7 +35,6 @@ void unset_variable(t_s_cmd *cmd, int i)
tmp[b] = NULL; tmp[b] = NULL;
free_double(cmd->big_cmd->env); free_double(cmd->big_cmd->env);
a = 0; a = 0;
// cmd->big_cmd->env = malloc(sizeof(char *) * (tab_len(tmp) + 1));
if (!cmd->big_cmd->env) if (!cmd->big_cmd->env)
printf("no env\n"); printf("no env\n");
cmd->big_cmd->env = ft_dup_double(tmp); cmd->big_cmd->env = ft_dup_double(tmp);
@ -56,7 +55,6 @@ int find_variable(char *variable, t_s_cmd *cmd)
ft_putstr_fd(variable, 2); ft_putstr_fd(variable, 2);
ft_putstr_fd("': not a valid identifier\n", 2); ft_putstr_fd("': not a valid identifier\n", 2);
return (check_return(cmd, 2)); return (check_return(cmd, 2));
} }
if (i == tab_len(cmd->big_cmd->env)) if (i == tab_len(cmd->big_cmd->env))
return (check_return(cmd, 2)); return (check_return(cmd, 2));

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/16 15:04:12 by sadjigui #+# #+# */ /* Created: 2022/03/16 15:04:12 by sadjigui #+# #+# */
/* Updated: 2022/04/19 12:18:18 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:20:42 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -22,7 +22,6 @@ int find_len(char *input, int i, char c)
return (j); return (j);
} }
int find_it(char **str, char *s) int find_it(char **str, char *s)
{ {
int i; int i;
@ -60,7 +59,6 @@ int check_return(t_s_cmd *cmd, int var)
if (cmd->child) if (cmd->child)
{ {
cmd->big_cmd->err_var = var; cmd->big_cmd->err_var = var;
return (var); return (var);
} }
else else

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/04/09 23:58:21 by apommier #+# #+# */ /* Created: 2022/04/09 23:58:21 by apommier #+# #+# */
/* Updated: 2022/04/19 12:03:24 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:00:38 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -192,7 +192,6 @@ int parse_quote(t_cmd *cmd)
i = 0; i = 0;
while (cmd->s_cmds[i]) while (cmd->s_cmds[i])
{ {
j = -1; j = -1;
while (cmd->s_cmds[i]->args[++j]) while (cmd->s_cmds[i]->args[++j])
{ {

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/04/10 19:50:50 by apommier #+# #+# */ /* Created: 2022/04/10 19:50:50 by apommier #+# #+# */
/* Updated: 2022/04/19 12:03:45 by apommier ### ########.fr */ /* Updated: 2022/04/19 12:58:16 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -21,7 +21,6 @@ int next_quote(const char *s, int i)
double_quote = 0; double_quote = 0;
if (s[i] == '"' || s[i] == '\'') if (s[i] == '"' || s[i] == '\'')
{ {
if (s[i] == '"') if (s[i] == '"')
double_quote = 1; double_quote = 1;
else if (s[i] == '\'') else if (s[i] == '\'')

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/09 15:18:58 by apommier #+# #+# */ /* Created: 2022/03/09 15:18:58 by apommier #+# #+# */
/* Updated: 2022/04/19 12:04:35 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:07:33 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -217,9 +217,9 @@ char *set_heredoc(int index, char **in)
void sig_heredoc(int num) void sig_heredoc(int num)
{ {
num = 0;
struct sigaction base; struct sigaction base;
(void)num;
memset(&base, 0, sizeof(base)); memset(&base, 0, sizeof(base));
base.sa_handler = &crtl_c; base.sa_handler = &crtl_c;
base.sa_flags = 0; base.sa_flags = 0;

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/03/11 16:35:37 by apommier #+# #+# */ /* Created: 2022/03/11 16:35:37 by apommier #+# #+# */
/* Updated: 2022/04/09 19:16:39 by apommier ### ########.fr */ /* Updated: 2022/04/19 13:07:55 by apommier ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */