diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-06-23 09:09:17 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-06-23 10:31:27 +0200 |
| commit | 11b258841f4a15c514c49af7d378b51cd6a8ab79 (patch) | |
| tree | 0df3f625f49fc1a8ca0e74f81272120f07a35feb /src/builtin/builtin.c | |
| parent | 58fc321ec43be4c3f7976769733116232361857a (diff) | |
| download | minishell-11b258841f4a15c514c49af7d378b51cd6a8ab79.tar.gz minishell-11b258841f4a15c514c49af7d378b51cd6a8ab79.tar.bz2 minishell-11b258841f4a15c514c49af7d378b51cd6a8ab79.zip | |
Fixing builtin which needed to not be run in a child process, Added exit builtin
Diffstat (limited to 'src/builtin/builtin.c')
| -rw-r--r-- | src/builtin/builtin.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/builtin/builtin.c b/src/builtin/builtin.c index ae47a60..80b263e 100644 --- a/src/builtin/builtin.c +++ b/src/builtin/builtin.c @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 17:11:01 by charles #+# #+# */ -/* Updated: 2020/06/14 12:52:12 by charles ### ########.fr */ +/* Updated: 2020/06/23 08:35:15 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,25 +21,25 @@ ** \brief Array storing builtin executable name and associated functions */ -static struct s_builtin_entry g_builtin_lookup[] = { - {"echo", builtin_echo}, - {"cd", builtin_cd}, - {"pwd", builtin_pwd}, - {"export", builtin_export}, - {"unset", builtin_unset}, - {"env", builtin_env}, - {"exit", builtin_exit}, +static t_builtin_entry g_builtin_lookup[] = { + {"echo", builtin_echo, true}, + {"cd", builtin_cd, false}, + {"pwd", builtin_pwd, true}, + {"export", builtin_export, false}, + {"unset", builtin_unset, false}, + {"env", builtin_env, true}, + {"exit", builtin_exit, false}, }; -t_builtin_func builtin_search_func(char *name) +t_builtin_entry *builtin_search_func(char *name) { size_t i; i = 0; - while (i < sizeof(g_builtin_lookup) / sizeof(struct s_builtin_entry)) + while (i < sizeof(g_builtin_lookup) / sizeof(t_builtin_entry)) { if (ft_strcmp(g_builtin_lookup[i].name, name) == 0) - return (g_builtin_lookup[i].func); + return (&g_builtin_lookup[i]); i++; } return (NULL); |
