diff --git a/srcs/alias.c b/srcs/alias.c index 64f5aff..8e4b9b6 100644 --- a/srcs/alias.c +++ b/srcs/alias.c @@ -6,46 +6,63 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/16 23:16:07 by marde-vr #+# #+# */ -/* Updated: 2024/02/18 17:04:08 by marde-vr ### ########.fr */ +/* Updated: 2024/02/18 17:20:54 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ #include "minishell.h" -char *get_alias_name(t_cmd *arg) +char *get_alias_name(t_cmd *arg) { - int i = 0; + int i; + char *res; + + i = 0; while (arg->token[i] != '=') i++; i++; - char *res; res = ft_strdup(""); ft_strlcpy(res, arg->token, i); return (res); } -char *get_alias_value(t_cmd *arg) +char *get_alias_value(t_cmd *arg) { - int i = 0; + int i; + char *res; + + i = 0; while (arg->token[i] != '=') i++; i++; - char *res; res = arg->token + i; return (res); } +void print_aliases(t_alias **aliases) +{ + (void)aliases; +} + int alias(t_cmd *args, t_alias **aliases) { - if (ft_strchr(args->next->token, '=')) - { - char *name = get_alias_name(args->next); - char *value = get_alias_value(args->next); - *aliases = alias_add_back(*aliases, name, value); - } + char *name; + char *value; + + if (!args->next || args->next->type != ARG) + print_aliases(aliases); else { - //nothin + name = get_alias_name(args->next); + if (ft_strchr(args->next->token, '=')) + { + value = get_alias_value(args->next); + *aliases = alias_add_back(*aliases, name, value); + } + else + { + ft_get_alias(*aliases, name); + } } - return(0); + return (0); } diff --git a/srcs/minishell.h b/srcs/minishell.h index 1cdafd9..9e5542f 100755 --- a/srcs/minishell.h +++ b/srcs/minishell.h @@ -6,7 +6,7 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/04 17:31:38 by tomoron #+# #+# */ -/* Updated: 2024/02/18 16:31:58 by tomoron ### ########.fr */ +/* Updated: 2024/02/18 17:10:42 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ @@ -72,7 +72,7 @@ int is_cmd_char(char c); void print_parsed_cmd(t_cmd *cmd);//debug void ft_exit(t_cmd *cmd, t_env *env, int error_code); char **env_to_char_tab(t_env *env); -void handle_minishellrc(t_env *env, t_alias *aliases); +void handle_minishellrc(t_env **env, t_alias **aliases); t_cmd *handle_alias(t_cmd *cmd, t_env *env, t_alias *alias); int cd(t_cmd *args); int alias(t_cmd *args, t_alias **aliases); diff --git a/srcs/minishellrc.c b/srcs/minishellrc.c index 5bee3ab..dccaecd 100644 --- a/srcs/minishellrc.c +++ b/srcs/minishellrc.c @@ -6,13 +6,13 @@ /* By: marde-vr +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/16 17:40:16 by marde-vr #+# #+# */ -/* Updated: 2024/02/18 17:06:31 by tomoron ### ########.fr */ +/* Updated: 2024/02/18 17:10:16 by marde-vr ### ########.fr */ /* */ /* ************************************************************************** */ #include "minishell.h" -void handle_minishellrc(t_env &env, t_alias *aliases) +void handle_minishellrc(t_env **env, t_alias **aliases) { char *home; char *rc_path; @@ -34,7 +34,7 @@ void handle_minishellrc(t_env &env, t_alias *aliases) line = get_next_line(fd); while (line) { - parsed_cmd = parse_command(line, env); + parsed_cmd = parse_command(line, *env); exec_command(parsed_cmd, env, aliases); free(parsed_cmd); free(line);