fixed some norme
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/05 18:20:21 by marde-vr #+# #+# */
|
||||
/* Updated: 2024/03/23 17:57:20 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:21:57 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -45,16 +45,16 @@ int cmd_is_builtin(t_msh *msh, char *cmd_token)
|
||||
exit_bt(msh);
|
||||
return (1);
|
||||
}
|
||||
else if(!ft_strcmp(cmd_token,"export"))
|
||||
else if (!ft_strcmp(cmd_token, "export"))
|
||||
{
|
||||
if (!(msh->in_type == PIPE || msh->out_type == PIPE))
|
||||
g_return_code = ft_export(msh);
|
||||
return(1);
|
||||
return (1);
|
||||
}
|
||||
else if(!ft_strcmp(cmd_token, "unset"))
|
||||
else if (!ft_strcmp(cmd_token, "unset"))
|
||||
{
|
||||
ft_unset(msh);
|
||||
return(1);
|
||||
return (1);
|
||||
}
|
||||
return (cmd_is_forkable_builtin(cmd_token));
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/05 18:22:15 by marde-vr #+# #+# */
|
||||
/* Updated: 2024/03/22 14:07:57 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:22:20 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -70,7 +70,7 @@ char **get_cmd_args(t_msh *msh)
|
||||
{
|
||||
if (cur_cmd->type == ARG)
|
||||
{
|
||||
if(!i)
|
||||
if (!i)
|
||||
cmd_args[i] = remove_path(cur_cmd->token);
|
||||
else
|
||||
cmd_args[i] = cur_cmd->token;
|
||||
|
10
srcs/exit.c
10
srcs/exit.c
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/07 16:04:11 by tomoron #+# #+# */
|
||||
/* Updated: 2024/03/22 13:34:06 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:20:54 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -26,7 +26,6 @@ void exit_bt(t_msh *msh)
|
||||
int exit_code;
|
||||
int cmd_count;
|
||||
|
||||
|
||||
cur_cmd = msh->cmds->next;
|
||||
ft_printf("exit\n");
|
||||
if (cur_cmd && cur_cmd->next && cur_cmd->next->type == ARG
|
||||
@ -37,17 +36,16 @@ void exit_bt(t_msh *msh)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cur_cmd && cur_cmd->type == ARG
|
||||
&& !ft_strisnbr(cur_cmd->token))
|
||||
if (cur_cmd && cur_cmd->type == ARG && !ft_strisnbr(cur_cmd->token))
|
||||
numeric_arg_err(cur_cmd->token, &exit_code);
|
||||
else if (cur_cmd && cur_cmd->type == ARG)
|
||||
exit_code = (unsigned char)ft_atoi(cur_cmd->token);
|
||||
else
|
||||
exit_code = g_return_code;
|
||||
if(msh->fds)
|
||||
if (msh->fds)
|
||||
{
|
||||
cmd_count = get_cmd_count(msh->cmds);
|
||||
while(cmd_count)
|
||||
while (cmd_count)
|
||||
{
|
||||
free(msh->fds[cmd_count - 1]);
|
||||
cmd_count--;
|
||||
|
@ -6,16 +6,17 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/18 18:29:20 by marde-vr #+# #+# */
|
||||
/* Updated: 2024/03/23 19:06:08 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:22:48 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "minishell.h"
|
||||
|
||||
void print_env_declare(t_env *env)
|
||||
{
|
||||
while(env)
|
||||
while (env)
|
||||
{
|
||||
if(strcmp(env->name, "_"))
|
||||
if (strcmp(env->name, "_"))
|
||||
printf("declare -x %s=\"%s\"\n", env->name, env->value);
|
||||
env = env->next;
|
||||
}
|
||||
@ -23,15 +24,15 @@ void print_env_declare(t_env *env)
|
||||
|
||||
int check_var_name(char *name)
|
||||
{
|
||||
if(ft_isdigit(*name) || !*name)
|
||||
return(0);
|
||||
while(*name)
|
||||
if (ft_isdigit(*name) || !*name)
|
||||
return (0);
|
||||
while (*name)
|
||||
{
|
||||
if(!ft_isalnum(*name) && *name != '_')
|
||||
return(0);
|
||||
if (!ft_isalnum(*name) && *name != '_')
|
||||
return (0);
|
||||
name++;
|
||||
}
|
||||
return(1);
|
||||
return (1);
|
||||
}
|
||||
|
||||
int ft_export(t_msh *msh)
|
||||
@ -43,25 +44,25 @@ int ft_export(t_msh *msh)
|
||||
int len;
|
||||
|
||||
cmd = msh->cmds;
|
||||
if(cmd && (!cmd->next || (cmd->next && cmd->next->type != ARG)))
|
||||
if (cmd && (!cmd->next || (cmd->next && cmd->next->type != ARG)))
|
||||
print_env_declare(msh->env);
|
||||
if(cmd && cmd->next && cmd->next->type == ARG && (!cmd->next->next ||
|
||||
(cmd->next->next && cmd->next->next->type != ARG)))
|
||||
if (cmd && cmd->next && cmd->next->type == ARG && (!cmd->next->next
|
||||
|| (cmd->next->next && cmd->next->next->type != ARG)))
|
||||
{
|
||||
arg = cmd->next->token;
|
||||
len = 0;
|
||||
while(arg[len] && arg[len] != '=')
|
||||
while (arg[len] && arg[len] != '=')
|
||||
len++;
|
||||
name = ft_substr(arg, 0, len);
|
||||
if(!name || !check_var_name(name))
|
||||
if (!name || !check_var_name(name))
|
||||
{
|
||||
ft_putstr_fd("minishell: export: `", 2);
|
||||
ft_putstr_fd(arg, 2);
|
||||
ft_putstr_fd("': not a valid identifier\n", 2);
|
||||
free(name);
|
||||
return(1);
|
||||
return (1);
|
||||
}
|
||||
if(arg[len])
|
||||
if (arg[len])
|
||||
len++;
|
||||
value = ft_strdup(arg + len);
|
||||
msh->env = env_add_back(msh->env, name, value);
|
||||
@ -85,7 +86,7 @@ void delete_from_env(t_env *env, char *name)
|
||||
else
|
||||
prev->next = tmp_env->next;
|
||||
free(tmp_env);
|
||||
return;
|
||||
return ;
|
||||
}
|
||||
prev = tmp_env;
|
||||
tmp_env = tmp_env->next;
|
||||
@ -94,9 +95,9 @@ void delete_from_env(t_env *env, char *name)
|
||||
*/
|
||||
int ft_unset(t_msh *msh)
|
||||
{
|
||||
/*
|
||||
t_cmd *cmd;
|
||||
|
||||
/*
|
||||
cmd = msh->cmds;
|
||||
tmp_env = msh->env;
|
||||
prev = 0;
|
||||
@ -106,5 +107,5 @@ int ft_unset(t_msh *msh)
|
||||
return (0);
|
||||
*/
|
||||
(void)msh;
|
||||
return(0);
|
||||
return (0);
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/17 02:54:36 by tomoron #+# #+# */
|
||||
/* Updated: 2024/03/23 18:35:04 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:23:28 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -30,7 +30,7 @@ t_cmd *handle_alias(t_msh *msh)
|
||||
while (tmp->next)
|
||||
tmp = tmp->next;
|
||||
tmp->next = msh->cmds->next;
|
||||
if(msh->cmds)
|
||||
if (msh->cmds)
|
||||
free(msh->cmds->token);
|
||||
free(msh->cmds);
|
||||
return (res);
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/26 20:20:31 by marde-vr #+# #+# */
|
||||
/* Updated: 2024/03/23 10:21:07 by marde-vr ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:23:09 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -87,6 +87,7 @@ void get_here_doc_input(t_msh *msh, char *eof)
|
||||
void handle_here_doc(t_msh *msh, char *eof)
|
||||
{
|
||||
char *here_doc_file;
|
||||
int pid;
|
||||
|
||||
here_doc_file = get_tmp_file_name(msh);
|
||||
msh->in_fd = open(here_doc_file, O_CREAT | O_RDWR, 0644);
|
||||
@ -98,7 +99,6 @@ void handle_here_doc(t_msh *msh, char *eof)
|
||||
eof = ft_strjoin_free(eof, "\n", 1);
|
||||
if (!eof)
|
||||
ft_exit(msh, 1);
|
||||
|
||||
/*
|
||||
get_here_doc_input(msh, eof);
|
||||
close(msh->in_fd);
|
||||
@ -109,8 +109,7 @@ void handle_here_doc(t_msh *msh, char *eof)
|
||||
ft_exit(msh, 1);
|
||||
}
|
||||
}*/
|
||||
|
||||
int pid = fork();
|
||||
pid = fork();
|
||||
if (pid == 0)
|
||||
get_here_doc_input(msh, eof);
|
||||
else
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/02 21:59:20 by tomoron #+# #+# */
|
||||
/* Updated: 2024/03/23 16:38:10 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:24:40 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -90,7 +90,8 @@ int main(int argc, char **argv, char **envp)
|
||||
|
||||
commands = (char *)1;
|
||||
init_minishell(&msh, argc, argv, envp);
|
||||
msh->aliases = alias_add_back(msh->aliases, ft_strdup("ls"), ft_strdup("ls --color=auto"));
|
||||
msh->aliases = alias_add_back(msh->aliases,
|
||||
ft_strdup("ls"), ft_strdup("ls --color=auto"));
|
||||
while (msh->env && commands)
|
||||
{
|
||||
prompt = get_prompt(msh->env);
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/09 15:26:01 by tomoron #+# #+# */
|
||||
/* Updated: 2024/03/20 18:46:00 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:23:50 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
#include "minishell.h"
|
||||
@ -104,12 +104,12 @@ t_cmd *parse_command(char *command, t_env *env)
|
||||
token = get_token(&command, &in_quote, &in_dquote, env);
|
||||
else
|
||||
token = 0;
|
||||
if(type == ARG && token == 0)
|
||||
if (type == ARG && token == 0)
|
||||
{
|
||||
free_cmd(res);
|
||||
return(0);
|
||||
return (0);
|
||||
}
|
||||
if(token && !*token)
|
||||
if (token && !*token)
|
||||
free(token);
|
||||
else
|
||||
res = cmd_add_back(res, token, type);
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/21 21:47:15 by marde-vr #+# #+# */
|
||||
/* Updated: 2024/03/22 15:45:44 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:24:52 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -84,7 +84,7 @@ void get_path(t_msh *msh, int *found)
|
||||
if (!paths)
|
||||
{
|
||||
free_paths(paths);
|
||||
return;
|
||||
return ;
|
||||
}
|
||||
find_cmd_path(msh, paths, found);
|
||||
free_paths(paths);
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/05 18:17:25 by marde-vr #+# #+# */
|
||||
/* Updated: 2024/03/23 17:28:05 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:25:38 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -30,6 +30,7 @@ void close_pipe_fds(t_msh *msh, int i)
|
||||
void execute_command(t_msh *msh, char **cmd_args, int i)
|
||||
{
|
||||
char **env;
|
||||
|
||||
if (msh->cmds->token && (!ft_strcmp(msh->cmds->token, "cd")
|
||||
|| !ft_strcmp(msh->cmds->token, "alias")
|
||||
|| !ft_strcmp(msh->cmds->token, "unalias")
|
||||
|
@ -3,10 +3,10 @@
|
||||
/* ::: :::::::: */
|
||||
/* signal_handler.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: tomoron <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/22 14:31:13 by tomoron #+# #+# */
|
||||
/* Updated: 2024/03/22 19:53:02 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:21:24 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
void signal_handler_interactive(int signum)
|
||||
{
|
||||
if(signum == 2)
|
||||
if (signum == 2)
|
||||
{
|
||||
g_return_code = 130;
|
||||
ft_putstr_fd("\n", 1);
|
||||
@ -22,7 +22,7 @@ void signal_handler_interactive(int signum)
|
||||
rl_on_new_line();
|
||||
rl_redisplay();
|
||||
}
|
||||
if(signum == 3)
|
||||
if (signum == 3)
|
||||
{
|
||||
rl_redisplay();
|
||||
ft_putstr_fd("filsdeup", 1);
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/05 18:19:26 by marde-vr #+# #+# */
|
||||
/* Updated: 2024/03/23 19:02:06 by tomoron ### ########.fr */
|
||||
/* Updated: 2024/03/23 19:21:13 by marde-vr ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
Reference in New Issue
Block a user