diff options
author | JozanLeClerc <bousset.rudy@gmail.com> | 2020-07-30 18:08:50 +0200 |
---|---|---|
committer | JozanLeClerc <bousset.rudy@gmail.com> | 2020-07-30 18:08:50 +0200 |
commit | 6dc6bf6f46b736299826bfdd63192bdee16ba875 (patch) | |
tree | c8d2cd267561655f94970e9d0a2d4b1976321fc3 /src/e_builtins.c | |
parent | env vars setting is ok (diff) | |
download | 42-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.c | 117 |
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); */ + /* } */ } |