free_token.c new_node.c free_node.c tokenizer.c parser.c \
parse_cmd.c collect_redirs.c print_ast.c interpreter.c env.c \
get_cmd_path.c env_to_strlst.c execute_cmd.c format_string.c \
- builtins_part_one.c builtins_part_two.c env_tools.c \
+ builtins_part_one.c builtins_part_two.c env_tools.c error.c \
OBJ_DIR := _obj
OBJ := $(addprefix $(OBJ_DIR)/, $(SRC:%.c=%.o))
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/22 17:14:49 by dkaiser #+# #+# */
-/* Updated: 2025/01/15 14:04:19 by dkaiser ### ########.fr */
+/* Updated: 2025/01/15 16:35:40 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
char *format_string(char *str, t_env *env);
int set_return_code(int return_code, t_env **env);
int handle_redirections(t_redirection *redirs);
+void *error(int err_code, char *err_text, int exit_code, int *ret_code);
#endif
--- /dev/null
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* error.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2025/01/15 16:35:53 by dkaiser #+# #+# */
+/* Updated: 2025/01/15 16:36:18 by dkaiser ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "minishell.h"
+#include <errno.h>
+
+void *error(int err_code, char *err_text, int exit_code, int *ret_code)
+{
+ errno = err_code;
+ perror(err_text);
+ if (ret_code != NULL)
+ *ret_code = exit_code;
+ return (NULL);
+}
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/12/17 19:19:59 by chuhlig #+# #+# */
-/* Updated: 2025/01/15 16:32:30 by dkaiser ### ########.fr */
+/* Updated: 2025/01/15 16:34:56 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
static char *get_simple_cmd_path(char *cmd, int *return_code);
static char *get_absolute_cmd_path(char *cmd, t_env *env, int *return_code);
static char *find_in_path(char *cmd, t_env *env, int *return_code);
-static char *error(int err_code, char *err_text, int exit_code, int *ret_code);
+static void *error(int err_code, char *err_text, int exit_code, int *ret_code);
char **get_split_path(t_env *env);
static int is_directory(char *path);
return (result);
}
-static char *error(int err_code, char *err_text, int exit_code, int *ret_code)
+static void *error(int err_code, char *err_text, int exit_code, int *ret_code)
{
errno = err_code;
perror(err_text);