diff options
| author | Dominik Kaiser | 2024-10-17 17:19:48 +0200 |
|---|---|---|
| committer | Dominik Kaiser | 2024-10-17 17:19:48 +0200 |
| commit | a3b571e8549f7f7b5a6ca2da449cc5d3aefa9084 (patch) | |
| tree | 89f1182ee5b4c18c840d59fba660df84e69f205f | |
| parent | e7faa6525a007e463c06a20e438a2253287011f1 (diff) | |
| download | minishell-a3b571e8549f7f7b5a6ca2da449cc5d3aefa9084.tar.gz minishell-a3b571e8549f7f7b5a6ca2da449cc5d3aefa9084.zip | |
Add path handling
| -rw-r--r-- | Makefile | 3 | ||||
| -rw-r--r-- | include/env.h | 8 | ||||
| -rw-r--r-- | include/minishell.h | 5 | ||||
| -rw-r--r-- | src/interpreter.c | 5 | ||||
| -rw-r--r-- | src/main.c | 5 |
5 files changed, 14 insertions, 12 deletions
@@ -13,7 +13,8 @@ HEADERS = -I include -I $(LIB_DIR)/libft VPATH := src SRC := main.c debug_tools.c init.c signal_handling.c repl.c new_token.c \ free_token.c new_node.c free_node.c tokenizer.c parser.c \ - parse_cmd.c collect_redirs.c print_ast.c interpreter.c env.c + parse_cmd.c collect_redirs.c print_ast.c interpreter.c env.c \ + get_cmd_path.c OBJ_DIR := _obj OBJ := $(addprefix $(OBJ_DIR)/, $(SRC:%.c=%.o)) diff --git a/include/env.h b/include/env.h index ee01181..f22ebdd 100644 --- a/include/env.h +++ b/include/env.h @@ -6,7 +6,7 @@ /* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/08/08 16:53:39 by dkaiser #+# #+# */ -/* Updated: 2024/10/17 15:59:59 by dkaiser ### ########.fr */ +/* Updated: 2024/10/17 17:01:27 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,6 +19,6 @@ typedef struct s_env struct s_env *next; } t_env; -void getenvlst(t_env **env, char **en); -void free_envlst(t_env **env); -char *env_get(t_env *env, char *name); +void getenvlst(t_env **env, char **en); +void free_envlst(t_env **env); +char *env_get(t_env *env, char *name); diff --git a/include/minishell.h b/include/minishell.h index 2319e8b..c84fda3 100644 --- a/include/minishell.h +++ b/include/minishell.h @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/22 17:14:49 by dkaiser #+# #+# */ -/* Updated: 2024/10/17 15:25:58 by dkaiser ### ########.fr */ +/* Updated: 2024/10/17 17:09:25 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -37,5 +37,6 @@ t_redirection *collect_redirs(t_token **tokens); void print_ast(t_node *ast); -int eval(t_node *node, t_env *env); +int eval(t_node *node, t_env *env); +char *get_cmd_path(char *cmd, t_env *env); #endif diff --git a/src/interpreter.c b/src/interpreter.c index abaeb47..0fa7ac1 100644 --- a/src/interpreter.c +++ b/src/interpreter.c @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/08/05 13:15:24 by dkaiser #+# #+# */ -/* Updated: 2024/10/17 16:01:23 by dkaiser ### ########.fr */ +/* Updated: 2024/10/17 17:05:51 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -38,7 +38,6 @@ static int eval_pipe(t_pipe *pipe, t_env *env) static int eval_cmd(t_cmd *cmd, t_env *env) { - printf("%s\n", cmd->args[0]); - printf("PATH=%s\n", env_get(env, "PATH")); + printf("%s\n", get_cmd_path(cmd->args[0], env)); return (0); } @@ -6,7 +6,7 @@ /* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/22 17:14:03 by dkaiser #+# #+# */ -/* Updated: 2024/10/17 15:34:02 by dkaiser ### ########.fr */ +/* Updated: 2024/10/17 17:01:45 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,8 @@ int main(int argc, char *argv[], char *envp[]) { - t_env *env; + t_env *env; + if (!argc && !argv) return (1); if (init()) |
