aboutsummaryrefslogtreecommitdiff
path: root/src/eval
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-09-16 16:40:22 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-09-16 16:40:22 +0200
commit3bb997212b3a0d140a34932f9deff52793673d49 (patch)
tree2df7ed965a0a29a1c47442831218cdf553633dfb /src/eval
parente439b71d807529734f04ce9d78b98c12022e7c72 (diff)
downloadminishell-3bb997212b3a0d140a34932f9deff52793673d49.tar.gz
minishell-3bb997212b3a0d140a34932f9deff52793673d49.tar.bz2
minishell-3bb997212b3a0d140a34932f9deff52793673d49.zip
Added g_state to store global variables, Refactoring tok_assign_str
Diffstat (limited to 'src/eval')
-rw-r--r--src/eval/cmd.c5
-rw-r--r--src/eval/eval.c2
-rw-r--r--src/eval/operation.c2
3 files changed, 4 insertions, 5 deletions
diff --git a/src/eval/cmd.c b/src/eval/cmd.c
index 3e301b0..151d11d 100644
--- a/src/eval/cmd.c
+++ b/src/eval/cmd.c
@@ -6,14 +6,13 @@
/* By: charles <charles@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/06/14 10:41:31 by charles #+# #+# */
-/* Updated: 2020/09/15 20:06:39 by charles ### ########.fr */
+/* Updated: 2020/09/16 16:27:59 by charles ### ########.fr */
/* */
/* ************************************************************************** */
#include "eval.h"
pid_t g_child_pid = -1;
-int g_last_status = 0;
int wrapped_cmd(t_fork_param_cmd *param)
{
@@ -58,6 +57,6 @@ int eval_cmd(int fds[2], t_env env, t_ast *ast, pid_t *child_pid, int fd_to_cl
param.env = env;
status = fork_wrap(fds, &param, (t_wrapped_func)wrapped_cmd, child_pid, fd_to_close);
ft_split_destroy(argv);
- g_last_status = status;
+ g_state.last_status = status;
return (status);
}
diff --git a/src/eval/eval.c b/src/eval/eval.c
index 899a880..2775f9e 100644
--- a/src/eval/eval.c
+++ b/src/eval/eval.c
@@ -6,7 +6,7 @@
/* By: charles <me@cacharle.xyz> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/09/13 20:38:06 by charles #+# #+# */
-/* Updated: 2020/09/15 20:09:43 by charles ### ########.fr */
+/* Updated: 2020/09/16 16:29:20 by charles ### ########.fr */
/* */
/* ************************************************************************** */
diff --git a/src/eval/operation.c b/src/eval/operation.c
index cd154b5..fbdf5bb 100644
--- a/src/eval/operation.c
+++ b/src/eval/operation.c
@@ -58,7 +58,7 @@ int eval_operation(int fds[2], t_env env, t_ast *ast)
}
if ((status = eval(left_fds, env, ast->op.left, NULL, FD_NONE)) == EVAL_FATAL)
return (EVAL_FATAL);
- g_last_status = status;
+ g_state.last_status = status;
if ((ast->op.sep == TAG_AND && status != 0) ||
(ast->op.sep == TAG_PIPE && status != 0) ||
(ast->op.sep == TAG_OR && status == 0))