summaryrefslogtreecommitdiffstats
path: root/src/e_builtins.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-07-30 18:08:50 +0200
committerJozanLeClerc <bousset.rudy@gmail.com>2020-07-30 18:08:50 +0200
commit6dc6bf6f46b736299826bfdd63192bdee16ba875 (patch)
treec8d2cd267561655f94970e9d0a2d4b1976321fc3 /src/e_builtins.c
parentenv vars setting is ok (diff)
download42-minishell-6dc6bf6f46b736299826bfdd63192bdee16ba875.tar.gz
42-minishell-6dc6bf6f46b736299826bfdd63192bdee16ba875.tar.bz2
42-minishell-6dc6bf6f46b736299826bfdd63192bdee16ba875.tar.xz
42-minishell-6dc6bf6f46b736299826bfdd63192bdee16ba875.tar.zst
42-minishell-6dc6bf6f46b736299826bfdd63192bdee16ba875.zip
Less retarded stuff
Diffstat (limited to 'src/e_builtins.c')
-rw-r--r--src/e_builtins.c117
1 files changed, 62 insertions, 55 deletions
diff --git a/src/e_builtins.c b/src/e_builtins.c
index e35416a..ca512a3 100644
--- a/src/e_builtins.c
+++ b/src/e_builtins.c
@@ -21,69 +21,76 @@
#include "s_lcom.h"
#include "s_struct.h"
-static void
- e_builtin_child(const t_lcom *ptr,
- uint8_t bu_id,
- t_msh *msh)
-{
- int32_t ret;
+/* static void */
+/* e_builtin_child(const t_lcom *ptr, */
+/* uint8_t bu_id, */
+/* t_msh *msh) */
+/* { */
+/* int32_t ret; */
- dup_redirs(ptr, msh);
- ret = msh->bu_ptr[bu_id](ptr->argv + 1, msh);
- lcom_clear(&msh->curr);
- s_destroy(msh);
- exit(ret);
-}
+/* dup_redirs(ptr, msh); */
+/* ret = msh->bu_ptr[bu_id](ptr->argv + 1, msh); */
+/* lcom_clear(&msh->curr); */
+/* s_destroy(msh); */
+/* exit(ret); */
+/* } */
-static void
- e_builtin_parent(pid_t pid,
- const t_lcom *ptr,
- uint8_t bu_id,
- t_msh *msh)
-{
- int32_t status;
- int32_t ret;
+/* static void */
+/* e_builtin_parent(pid_t pid, */
+/* const t_lcom *ptr, */
+/* uint8_t bu_id, */
+/* t_msh *msh) */
+/* { */
+/* int32_t status; */
+/* int32_t ret; */
- while (wait(&status) != pid)
- ;
- ret = WEXITSTATUS(status);
- if (bu_id != 6)
- msh->ret = ret;
- if (bu_id == 1 && msh->ret == 0)
- {
- msh->bu_ptr[bu_id](ptr->argv + 1, msh);
- /* TODO: export $PWD */
- }
- else if (bu_id == 6 && ret == 0)
- {
- if (ptr->argv[1])
- ret = ft_atoi(ptr->argv[1]);
- else
- ret = msh->ret;
- lcom_clear(&msh->curr);
- s_destroy(msh);
- exit(ret);
- }
-}
+/* while (wait(&status) != pid) */
+/* ; */
+/* ret = WEXITSTATUS(status); */
+/* if (bu_id != FT_ID_EXIT) */
+/* msh->ret = ret; */
+/* if (bu_id == FT_ID_CD && msh->ret == 0) */
+/* { */
+/* msh->bu_ptr[bu_id](ptr->argv + 1, msh); */
+/* /\* TODO: export $PWD *\/ */
+/* } */
+/* else if (bu_id == FT_ID_EXIT && ret == 0) */
+/* { */
+/* if (ptr->argv[1]) */
+/* ret = ft_atoi(ptr->argv[1]); */
+/* else */
+/* ret = msh->ret; */
+/* lcom_clear(&msh->curr); */
+/* s_destroy(msh); */
+/* exit(ret); */
+/* } */
+/* } */
void
e_builtin(const t_lcom *ptr,
uint8_t bu_id,
t_msh *msh)
{
- pid_t pid;
+ int32_t ret;
+
+ dup_redirs(ptr, msh);
+ ret = msh->bu_ptr[bu_id](ptr->argv + 1, msh);
+ lcom_clear(&msh->curr);
+ msh->ret = ret;
+ /* pid_t pid; */
- /* TODO: find a way to handle exit | bu_id = 6 */
- if ((pid = fork()) == 0)
- {
- e_builtin_child(ptr, bu_id, msh);
- }
- else if (pid < 0)
- {
- /* TODO: handle fork failed */
- }
- else
- {
- e_builtin_parent(pid, ptr, bu_id, msh);
- }
+ /* /\* TODO: find a way to handle exit | bu_id = 6 *\/ */
+ /* e_builtin_child(ptr, bu_id, msh); */
+ /* if ((pid = fork()) == 0) */
+ /* { */
+ /* e_builtin_child(ptr, bu_id, msh); */
+ /* } */
+ /* else if (pid < 0) */
+ /* { */
+ /* /\* TODO: handle fork failed *\/ */
+ /* } */
+ /* else */
+ /* { */
+ /* e_builtin_parent(pid, ptr, bu_id, msh); */
+ /* } */
}