diff options
| author | Christopher Uhlig | 2024-10-25 20:44:14 +0200 |
|---|---|---|
| committer | Christopher Uhlig | 2024-10-25 20:44:14 +0200 |
| commit | eafa035f9a72961280f4b1bb8f405f40000d3212 (patch) | |
| tree | 3566b9bcfde24d59afc7591179647f393184cfaf /src/interpreter.c | |
| parent | ca4acea03cda19c2a0f0fd168d3c8fd418d71e04 (diff) | |
| parent | 15d8385f8ecf30e1ca74025b12fed7e45349b706 (diff) | |
| download | minishell-eafa035f9a72961280f4b1bb8f405f40000d3212.tar.gz minishell-eafa035f9a72961280f4b1bb8f405f40000d3212.zip | |
resolved merge conflicts
Diffstat (limited to 'src/interpreter.c')
| -rw-r--r-- | src/interpreter.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/interpreter.c b/src/interpreter.c index 13f10ed..e69de29 100644 --- a/src/interpreter.c +++ b/src/interpreter.c @@ -1,55 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* interpreter.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/08/05 13:15:24 by dkaiser #+# #+# */ -/* Updated: 2024/10/25 15:46:53 by chuhlig ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "minishell.h" -#include <stdio.h> - -static int eval_pipe(t_pipe *pipe, t_env *env); -static int eval_cmd(t_cmd *cmd, t_env **env); - -int eval(t_node *node, t_env **env) -{ - if (node->type == PIPE_NODE) - return (eval_pipe(&node->content.pipe, *env)); - else if (node->type == CMD_NODE) - return (eval_cmd(&node->content.cmd, env)); - else - { - panic(UNREACHABLE); - return (-1); - } -} - -static int eval_pipe(t_pipe *pipe, t_env *env) -{ - dbg("TODO: PIPE"); - eval_cmd(&pipe->left->content.cmd, &env); - eval_cmd(&pipe->right->content.cmd, &env); - return (0); -} - -static int eval_cmd(t_cmd *cmd, t_env **env) -{ - if (ft_strncmp(cmd->args[0], "pwd", 4) == 0) - pwd(*env); - else if (ft_strncmp(cmd->args[0], "echo", 5) == 0) - echo(cmd->args); - else if (ft_strncmp(cmd->args[0], "env", 4) == 0) - ft_env(*env); - else if (ft_strncmp(cmd->args[0], "cd", 3) == 0) - cd(env, cmd->args); - else if (ft_strncmp(cmd->args[0], "unset", 6) == 0) - unset(cmd->args, env); - else if (ft_strncmp(cmd->args[0], "export", 7) == 0) - export(cmd->args, env); - return (0); -} |
