diff --git a/src/builtin/env_utils_2.c b/src/builtin/env_utils_2.c index 6f60e1f..65bd2cb 100644 --- a/src/builtin/env_utils_2.c +++ b/src/builtin/env_utils_2.c @@ -6,7 +6,7 @@ /* By: ttsubo +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/17 11:17:22 by dayano #+# #+# */ -/* Updated: 2025/05/04 18:49:19 by ttsubo ### ########.fr */ +/* Updated: 2025/05/15 15:22:35 by ttsubo ### ########.fr */ /* */ /* ************************************************************************** */ @@ -23,6 +23,7 @@ void cleanup_minish(t_minish *minish) void handle_error_and_exit(const char *func_name, t_minish *minish) { cleanup_minish(minish); - perror(func_name); + ft_putstr_fd((char *)func_name, STDERR_FILENO); + ft_putendl_fd(":error", STDERR_FILENO); exit(EXIT_FAILURE); } diff --git a/src/initialize.c b/src/initialize.c index 78908b8..775df47 100644 --- a/src/initialize.c +++ b/src/initialize.c @@ -6,7 +6,7 @@ /* By: ttsubo +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 15:42:46 by dayano #+# #+# */ -/* Updated: 2025/05/04 18:44:19 by ttsubo ### ########.fr */ +/* Updated: 2025/05/15 15:18:18 by ttsubo ### ########.fr */ /* */ /* ************************************************************************** */ @@ -50,9 +50,7 @@ static t_env *create_envp_list(char **envp) while (envp[i] != NULL) { node = ft_calloc(1, sizeof(t_env)); - if (!node) - return (NULL); - if (_set_envp(envp[i], node)) + if (!node || _set_envp(envp[i], node)) return (free_nodes(&head), free_node(&node), NULL); node->next = NULL; if (!head) diff --git a/src/main.c b/src/main.c index 62c9f7a..0a517fe 100644 --- a/src/main.c +++ b/src/main.c @@ -6,7 +6,7 @@ /* By: ttsubo +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/03 12:50:11 by ttsubo #+# #+# */ -/* Updated: 2025/05/08 17:00:17 by ttsubo ### ########.fr */ +/* Updated: 2025/05/15 16:24:49 by ttsubo ### ########.fr */ /* */ /* ************************************************************************** */ @@ -62,10 +62,9 @@ static bool prompt(char *program_name, t_minish *minish) cmds = parser(tokens, minish); if (!cmds) { - error_mes(program_name, ": syntax error\n"); + error_mes(program_name, ": syntax error"); free_prompt(&tokens, &cmds, &line); - cleanup_minish(minish); - return (false); + return (true); } if (cmds[0]->argc > 0) minish->last_status = invoke_commands(cmds[0], minish); diff --git a/src/parser/parser.c b/src/parser/parser.c index cb11a5f..5bbde82 100644 --- a/src/parser/parser.c +++ b/src/parser/parser.c @@ -6,7 +6,7 @@ /* By: ttsubo +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/21 14:14:32 by ttsubo #+# #+# */ -/* Updated: 2025/05/05 18:39:13 by ttsubo ### ########.fr */ +/* Updated: 2025/05/15 15:48:56 by ttsubo ### ########.fr */ /* */ /* ************************************************************************** */ @@ -23,6 +23,8 @@ t_cmd **parser(char **tokens, t_minish *minish) char **formatted_tokens; t_cmd **cmds; + if (!tokens) + return (NULL); formatted_tokens = expand_tokens(tokens, minish); if (!formatted_tokens) return (NULL);