aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Uhlig2025-01-20 17:34:02 +0100
committerChristopher Uhlig2025-01-20 17:34:02 +0100
commit634a3b84b31cbcc5c0c665338e1ef1eb49f25e5d (patch)
treea30f4d0c47a636c822e97efc2678b61d3e2c3dad
parent8f5abcdb257393a2e576fe382835e8e060662834 (diff)
downloadminishell-634a3b84b31cbcc5c0c665338e1ef1eb49f25e5d.tar.gz
minishell-634a3b84b31cbcc5c0c665338e1ef1eb49f25e5d.zip
fixed a bunch of stuff
-rw-r--r--.vscode/c_cpp_properties.json18
-rw-r--r--.vscode/launch.json13
-rw-r--r--.vscode/settings.json64
-rw-r--r--.vscode/tasks.json29
-rw-r--r--include/env.h5
-rw-r--r--include/minishell.h4
-rw-r--r--lib/libft/_obj/ft_atoi.obin932 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_atol.obin948 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_bzero.obin676 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_calloc.obin752 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_isalnum.obin704 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_isalpha.obin680 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_isascii.obin664 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_isdigit.obin664 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_isprint.obin664 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_isspace.obin672 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_itoa.obin1236 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_lstadd_back_bonus.obin716 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_lstadd_front_bonus.obin652 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_lstclear_bonus.obin780 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_lstdelone_bonus.obin688 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_lstiter_bonus.obin712 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_lstlast_bonus.obin696 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_lstmap_bonus.obin932 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_lstnew_bonus.obin732 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_lstsize_bonus.obin704 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_memchr.obin724 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_memcmp.obin740 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_memcpy.obin764 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_memmove.obin824 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_memset.obin684 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_printaddr.obin1128 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_printf.obin2996 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_printhex.obin1012 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_printnbr.obin1704 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_putchar_fd.obin680 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_putendl_fd.obin860 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_putnbr_fd.obin1088 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_putstr_fd.obin740 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_split.obin1936 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strcat.obin756 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strchr.obin756 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strcmp.obin748 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strcpy.obin700 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strdup.obin816 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_striteri.obin696 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strjoin.obin1044 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strlcat.obin896 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strlcpy.obin872 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strlen.obin660 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strmapi.obin864 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strncmp.obin824 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strncpy.obin728 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strnstr.obin984 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strrchr.obin744 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_strtrim.obin1232 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_substr.obin912 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_tolower.obin664 -> 0 bytes
-rw-r--r--lib/libft/_obj/ft_toupper.obin664 -> 0 bytes
-rw-r--r--lib/libft/_obj/get_next_line.obin1860 -> 0 bytes
-rw-r--r--lib/libft/_obj/get_next_line_utils.obin1384 -> 0 bytes
-rw-r--r--lib/libft/libft.abin55752 -> 0 bytes
-rw-r--r--src/builtins_part_one.c17
-rw-r--r--src/builtins_part_three.c13
-rw-r--r--src/env.c4
-rw-r--r--src/execute_cmd.c4
-rw-r--r--src/handle_redir.c8
67 files changed, 161 insertions, 18 deletions
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000..94b2ae4
--- /dev/null
+++ b/.vscode/c_cpp_properties.json
@@ -0,0 +1,18 @@
+{
+ "configurations": [
+ {
+ "name": "macos-clang-x64",
+ "includePath": [
+ "${workspaceFolder}/**"
+ ],
+ "compilerPath": "/usr/bin/clang",
+ "cStandard": "${default}",
+ "cppStandard": "${default}",
+ "intelliSenseMode": "macos-clang-x64",
+ "compilerArgs": [
+ ""
+ ]
+ }
+ ],
+ "version": 4
+ } \ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..86fa44a
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,13 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "C/C++ Runner: Debug Session",
+ "type": "lldb",
+ "request": "launch",
+ "args": [],
+ "cwd": "/Users/chuhlig/Desktop/merged_minishell/",
+ "program": "/Users/chuhlig/Desktop/merged_minishell/minishell"
+ }
+ ]
+ } \ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..e43ecab
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,64 @@
+{
+ "C_Cpp_Runner.cCompilerPath": "clang",
+ "C_Cpp_Runner.cppCompilerPath": "clang++",
+ "C_Cpp_Runner.debuggerPath": "lldb",
+ "C_Cpp_Runner.cStandard": "",
+ "C_Cpp_Runner.cppStandard": "",
+ "C_Cpp_Runner.msvcBatchPath": "",
+ "C_Cpp_Runner.useMsvc": false,
+ "C_Cpp_Runner.warnings": [
+ "-Wall",
+ "-Wextra",
+ "-Wpedantic",
+ "-Wshadow",
+ "-Wformat=2",
+ "-Wcast-align",
+ "-Wconversion",
+ "-Wsign-conversion",
+ "-Wnull-dereference"
+ ],
+ "C_Cpp_Runner.msvcWarnings": [
+ "/W4",
+ "/permissive-",
+ "/w14242",
+ "/w14287",
+ "/w14296",
+ "/w14311",
+ "/w14826",
+ "/w44062",
+ "/w44242",
+ "/w14905",
+ "/w14906",
+ "/w14263",
+ "/w44265",
+ "/w14928"
+ ],
+ "C_Cpp_Runner.enableWarnings": true,
+ "C_Cpp_Runner.warningsAsError": false,
+ "C_Cpp_Runner.compilerArgs": [],
+ "C_Cpp_Runner.linkerArgs": [],
+ "C_Cpp_Runner.includePaths": [],
+ "C_Cpp_Runner.includeSearch": [
+ "*",
+ "**/*"
+ ],
+ "C_Cpp_Runner.excludeSearch": [
+ "**/build",
+ "**/build/**",
+ "**/.*",
+ "**/.*/**",
+ "**/.vscode",
+ "**/.vscode/**"
+ ],
+ "C_Cpp_Runner.useAddressSanitizer": false,
+ "C_Cpp_Runner.useUndefinedSanitizer": false,
+ "C_Cpp_Runner.useLeakSanitizer": false,
+ "C_Cpp_Runner.showCompilationTime": false,
+ "C_Cpp_Runner.useLinkTimeOptimization": false,
+ "C_Cpp_Runner.msvcSecureNoWarnings": false,
+ "files.associations": {
+ "minishell.h": "c",
+ "debug_tools.h": "c",
+ "token.h": "c"
+ }
+ } \ No newline at end of file
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..4ede37a
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,29 @@
+{
+ "tasks": [
+ {
+ "type": "cppbuild",
+ "label": "C/C++: clang build active file",
+ "command": "/usr/bin/clang",
+ "args": [
+ "-fcolor-diagnostics",
+ "-fansi-escape-codes",
+ "-g",
+ "${file}",
+ "-o",
+ "${fileDirname}/${fileBasenameNoExtension}"
+ ],
+ "options": {
+ "cwd": "${fileDirname}"
+ },
+ "problemMatcher": [
+ "$gcc"
+ ],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ },
+ "detail": "Task generated by Debugger."
+ }
+ ],
+ "version": "2.0.0"
+} \ No newline at end of file
diff --git a/include/env.h b/include/env.h
index 3fc83b7..56b50b5 100644
--- a/include/env.h
+++ b/include/env.h
@@ -6,7 +6,7 @@
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/08 16:53:39 by dkaiser #+# #+# */
-/* Updated: 2025/01/18 18:43:07 by chuhlig ### ########.fr */
+/* Updated: 2025/01/20 16:48:57 by chuhlig ### ########.fr */
/* */
/* ************************************************************************** */
@@ -30,7 +30,7 @@ char **env_to_strlst(t_env *env);
void update_oldpwd(t_env **env);
void update_pwd(t_env **env);
int unset(char **av, t_env **env);
-int export(char **av, t_env **env);
+int export(char **av, t_env **env, int f);
int echo(char **av);
int pwd(t_env *env);
int cd(t_env **env, char **args);
@@ -38,5 +38,6 @@ int ft_env(t_env *env);
int builtin_exit(char **args, t_env **env);
t_env *env_new(char *name);
t_env *check_existing(t_env *env, char *av);
+int check_flag(int f);
#endif \ No newline at end of file
diff --git a/include/minishell.h b/include/minishell.h
index 7a573e8..03553a7 100644
--- a/include/minishell.h
+++ b/include/minishell.h
@@ -6,7 +6,7 @@
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/22 17:14:49 by dkaiser #+# #+# */
-/* Updated: 2025/01/18 19:30:43 by chuhlig ### ########.fr */
+/* Updated: 2025/01/20 16:48:39 by chuhlig ### ########.fr */
/* */
/* ************************************************************************** */
@@ -42,7 +42,7 @@ int eval(t_node *node, t_env **env);
char *get_cmd_path(char *cmd, t_env *env, int *return_code);
int execute_cmd(t_cmd *cmd, t_env **env);
char *format_string(char *str, t_env *env, int is_literal);
-int set_return_code(int return_code, t_env **env);
+void 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);
diff --git a/lib/libft/_obj/ft_atoi.o b/lib/libft/_obj/ft_atoi.o
deleted file mode 100644
index efcdc0d..0000000
--- a/lib/libft/_obj/ft_atoi.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_atol.o b/lib/libft/_obj/ft_atol.o
deleted file mode 100644
index 3126061..0000000
--- a/lib/libft/_obj/ft_atol.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_bzero.o b/lib/libft/_obj/ft_bzero.o
deleted file mode 100644
index 64ddf3a..0000000
--- a/lib/libft/_obj/ft_bzero.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_calloc.o b/lib/libft/_obj/ft_calloc.o
deleted file mode 100644
index 39c2c05..0000000
--- a/lib/libft/_obj/ft_calloc.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_isalnum.o b/lib/libft/_obj/ft_isalnum.o
deleted file mode 100644
index 3aecc58..0000000
--- a/lib/libft/_obj/ft_isalnum.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_isalpha.o b/lib/libft/_obj/ft_isalpha.o
deleted file mode 100644
index da20b01..0000000
--- a/lib/libft/_obj/ft_isalpha.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_isascii.o b/lib/libft/_obj/ft_isascii.o
deleted file mode 100644
index 2262942..0000000
--- a/lib/libft/_obj/ft_isascii.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_isdigit.o b/lib/libft/_obj/ft_isdigit.o
deleted file mode 100644
index a0e0f40..0000000
--- a/lib/libft/_obj/ft_isdigit.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_isprint.o b/lib/libft/_obj/ft_isprint.o
deleted file mode 100644
index 8cf5033..0000000
--- a/lib/libft/_obj/ft_isprint.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_isspace.o b/lib/libft/_obj/ft_isspace.o
deleted file mode 100644
index f6f10e8..0000000
--- a/lib/libft/_obj/ft_isspace.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_itoa.o b/lib/libft/_obj/ft_itoa.o
deleted file mode 100644
index 447812f..0000000
--- a/lib/libft/_obj/ft_itoa.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_lstadd_back_bonus.o b/lib/libft/_obj/ft_lstadd_back_bonus.o
deleted file mode 100644
index 566f7fc..0000000
--- a/lib/libft/_obj/ft_lstadd_back_bonus.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_lstadd_front_bonus.o b/lib/libft/_obj/ft_lstadd_front_bonus.o
deleted file mode 100644
index f456510..0000000
--- a/lib/libft/_obj/ft_lstadd_front_bonus.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_lstclear_bonus.o b/lib/libft/_obj/ft_lstclear_bonus.o
deleted file mode 100644
index cbf23d7..0000000
--- a/lib/libft/_obj/ft_lstclear_bonus.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_lstdelone_bonus.o b/lib/libft/_obj/ft_lstdelone_bonus.o
deleted file mode 100644
index c357699..0000000
--- a/lib/libft/_obj/ft_lstdelone_bonus.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_lstiter_bonus.o b/lib/libft/_obj/ft_lstiter_bonus.o
deleted file mode 100644
index 139d20d..0000000
--- a/lib/libft/_obj/ft_lstiter_bonus.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_lstlast_bonus.o b/lib/libft/_obj/ft_lstlast_bonus.o
deleted file mode 100644
index 0f262f1..0000000
--- a/lib/libft/_obj/ft_lstlast_bonus.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_lstmap_bonus.o b/lib/libft/_obj/ft_lstmap_bonus.o
deleted file mode 100644
index d4ed0b6..0000000
--- a/lib/libft/_obj/ft_lstmap_bonus.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_lstnew_bonus.o b/lib/libft/_obj/ft_lstnew_bonus.o
deleted file mode 100644
index 98420b2..0000000
--- a/lib/libft/_obj/ft_lstnew_bonus.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_lstsize_bonus.o b/lib/libft/_obj/ft_lstsize_bonus.o
deleted file mode 100644
index 1ce926d..0000000
--- a/lib/libft/_obj/ft_lstsize_bonus.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_memchr.o b/lib/libft/_obj/ft_memchr.o
deleted file mode 100644
index 23efe3d..0000000
--- a/lib/libft/_obj/ft_memchr.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_memcmp.o b/lib/libft/_obj/ft_memcmp.o
deleted file mode 100644
index ca68348..0000000
--- a/lib/libft/_obj/ft_memcmp.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_memcpy.o b/lib/libft/_obj/ft_memcpy.o
deleted file mode 100644
index 253e17e..0000000
--- a/lib/libft/_obj/ft_memcpy.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_memmove.o b/lib/libft/_obj/ft_memmove.o
deleted file mode 100644
index df18bef..0000000
--- a/lib/libft/_obj/ft_memmove.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_memset.o b/lib/libft/_obj/ft_memset.o
deleted file mode 100644
index be0b314..0000000
--- a/lib/libft/_obj/ft_memset.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_printaddr.o b/lib/libft/_obj/ft_printaddr.o
deleted file mode 100644
index 64e9dea..0000000
--- a/lib/libft/_obj/ft_printaddr.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_printf.o b/lib/libft/_obj/ft_printf.o
deleted file mode 100644
index 44aedad..0000000
--- a/lib/libft/_obj/ft_printf.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_printhex.o b/lib/libft/_obj/ft_printhex.o
deleted file mode 100644
index 5ef814f..0000000
--- a/lib/libft/_obj/ft_printhex.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_printnbr.o b/lib/libft/_obj/ft_printnbr.o
deleted file mode 100644
index 278895f..0000000
--- a/lib/libft/_obj/ft_printnbr.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_putchar_fd.o b/lib/libft/_obj/ft_putchar_fd.o
deleted file mode 100644
index e3a7ad2..0000000
--- a/lib/libft/_obj/ft_putchar_fd.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_putendl_fd.o b/lib/libft/_obj/ft_putendl_fd.o
deleted file mode 100644
index 5ff74c8..0000000
--- a/lib/libft/_obj/ft_putendl_fd.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_putnbr_fd.o b/lib/libft/_obj/ft_putnbr_fd.o
deleted file mode 100644
index 1de6482..0000000
--- a/lib/libft/_obj/ft_putnbr_fd.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_putstr_fd.o b/lib/libft/_obj/ft_putstr_fd.o
deleted file mode 100644
index bc970e3..0000000
--- a/lib/libft/_obj/ft_putstr_fd.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_split.o b/lib/libft/_obj/ft_split.o
deleted file mode 100644
index d5df61b..0000000
--- a/lib/libft/_obj/ft_split.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strcat.o b/lib/libft/_obj/ft_strcat.o
deleted file mode 100644
index f749d90..0000000
--- a/lib/libft/_obj/ft_strcat.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strchr.o b/lib/libft/_obj/ft_strchr.o
deleted file mode 100644
index fea0b41..0000000
--- a/lib/libft/_obj/ft_strchr.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strcmp.o b/lib/libft/_obj/ft_strcmp.o
deleted file mode 100644
index 5c7286b..0000000
--- a/lib/libft/_obj/ft_strcmp.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strcpy.o b/lib/libft/_obj/ft_strcpy.o
deleted file mode 100644
index d556c8f..0000000
--- a/lib/libft/_obj/ft_strcpy.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strdup.o b/lib/libft/_obj/ft_strdup.o
deleted file mode 100644
index e052b40..0000000
--- a/lib/libft/_obj/ft_strdup.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_striteri.o b/lib/libft/_obj/ft_striteri.o
deleted file mode 100644
index e8264a9..0000000
--- a/lib/libft/_obj/ft_striteri.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strjoin.o b/lib/libft/_obj/ft_strjoin.o
deleted file mode 100644
index bb8a89e..0000000
--- a/lib/libft/_obj/ft_strjoin.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strlcat.o b/lib/libft/_obj/ft_strlcat.o
deleted file mode 100644
index e7aff81..0000000
--- a/lib/libft/_obj/ft_strlcat.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strlcpy.o b/lib/libft/_obj/ft_strlcpy.o
deleted file mode 100644
index 695a120..0000000
--- a/lib/libft/_obj/ft_strlcpy.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strlen.o b/lib/libft/_obj/ft_strlen.o
deleted file mode 100644
index 2c66545..0000000
--- a/lib/libft/_obj/ft_strlen.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strmapi.o b/lib/libft/_obj/ft_strmapi.o
deleted file mode 100644
index 345a34a..0000000
--- a/lib/libft/_obj/ft_strmapi.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strncmp.o b/lib/libft/_obj/ft_strncmp.o
deleted file mode 100644
index 683c861..0000000
--- a/lib/libft/_obj/ft_strncmp.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strncpy.o b/lib/libft/_obj/ft_strncpy.o
deleted file mode 100644
index 5585d29..0000000
--- a/lib/libft/_obj/ft_strncpy.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strnstr.o b/lib/libft/_obj/ft_strnstr.o
deleted file mode 100644
index 4f42fd4..0000000
--- a/lib/libft/_obj/ft_strnstr.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strrchr.o b/lib/libft/_obj/ft_strrchr.o
deleted file mode 100644
index c6b2a16..0000000
--- a/lib/libft/_obj/ft_strrchr.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_strtrim.o b/lib/libft/_obj/ft_strtrim.o
deleted file mode 100644
index b4ac15c..0000000
--- a/lib/libft/_obj/ft_strtrim.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_substr.o b/lib/libft/_obj/ft_substr.o
deleted file mode 100644
index eebbca7..0000000
--- a/lib/libft/_obj/ft_substr.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_tolower.o b/lib/libft/_obj/ft_tolower.o
deleted file mode 100644
index 940856f..0000000
--- a/lib/libft/_obj/ft_tolower.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/ft_toupper.o b/lib/libft/_obj/ft_toupper.o
deleted file mode 100644
index 137ae03..0000000
--- a/lib/libft/_obj/ft_toupper.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/get_next_line.o b/lib/libft/_obj/get_next_line.o
deleted file mode 100644
index d5cbdc5..0000000
--- a/lib/libft/_obj/get_next_line.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/_obj/get_next_line_utils.o b/lib/libft/_obj/get_next_line_utils.o
deleted file mode 100644
index 0eecbe7..0000000
--- a/lib/libft/_obj/get_next_line_utils.o
+++ /dev/null
Binary files differ
diff --git a/lib/libft/libft.a b/lib/libft/libft.a
deleted file mode 100644
index 1a43a20..0000000
--- a/lib/libft/libft.a
+++ /dev/null
Binary files differ
diff --git a/src/builtins_part_one.c b/src/builtins_part_one.c
index 7cbcdeb..629cc87 100644
--- a/src/builtins_part_one.c
+++ b/src/builtins_part_one.c
@@ -6,7 +6,7 @@
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/09 17:01:16 by chuhlig #+# #+# */
-/* Updated: 2025/01/18 18:33:33 by chuhlig ### ########.fr */
+/* Updated: 2025/01/20 17:05:19 by chuhlig ### ########.fr */
/* */
/* ************************************************************************** */
@@ -26,7 +26,15 @@ int unset(char **av, t_env **env)
prev = NULL;
while (current)
{
- if (ft_strcmp(current->name, av[i]) == 0)
+ if ((!ft_strcmp(current->name, av[i])) && (!ft_strcmp("?", av[1])))
+ {
+ if (prev)
+ prev->next = current->next;
+ else
+ *env = current->next;
+ free_env_node(current);
+ break ;
+ }
{
if (prev)
prev->next = current->next;
@@ -91,7 +99,7 @@ int is_valid_identifier(char *str)
return (1);
}
-int export(char **av, t_env **env)
+int export(char **av, t_env **env, int f)
{
char *equal_sign;
int i;
@@ -107,6 +115,7 @@ int export(char **av, t_env **env)
write(1, "Minishell $ export: not a valid identifier\n", 43);
if (equal_sign)
*equal_sign = '=';
+ f++;
continue ;
}
if (equal_sign)
@@ -115,5 +124,5 @@ int export(char **av, t_env **env)
export_export(av[i], env);
}
}
- return (0);
+ return (check_flag(f));
}
diff --git a/src/builtins_part_three.c b/src/builtins_part_three.c
index 7c73e95..5f6fa31 100644
--- a/src/builtins_part_three.c
+++ b/src/builtins_part_three.c
@@ -6,7 +6,7 @@
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/01/18 18:29:24 by chuhlig #+# #+# */
-/* Updated: 2025/01/18 18:34:29 by chuhlig ### ########.fr */
+/* Updated: 2025/01/20 17:08:17 by chuhlig ### ########.fr */
/* */
/* ************************************************************************** */
@@ -22,8 +22,10 @@ int builtin_exit(char **av, t_env **env)
{
int exit_status;
- if (av[1])
+ if (av[1] && !av[2])
exit_status = ft_atoi(av[1]);
+ else if (av[2])
+ exit_status = 1;
else
exit_status = 0;
exit_shell(env, exit_status);
@@ -74,3 +76,10 @@ int echo(char **av)
write(1, "\n", 1);
return (0);
}
+
+int check_flag(int f)
+{
+ if (f)
+ return (1);
+ return (0);
+}
diff --git a/src/env.c b/src/env.c
index 1972909..cc9cfae 100644
--- a/src/env.c
+++ b/src/env.c
@@ -6,7 +6,7 @@
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/10/17 14:31:07 by chuhlig #+# #+# */
-/* Updated: 2025/01/14 14:44:34 by chuhlig ### ########.fr */
+/* Updated: 2025/01/20 15:05:49 by chuhlig ### ########.fr */
/* */
/* ************************************************************************** */
@@ -55,7 +55,7 @@ char *env_get(t_env *env, char *name)
{
while (env != NULL)
{
- if (!ft_strncmp(env->name, name, ft_strlen(name)))
+ if (!ft_strncmp(env->name, name, ft_strlen(env->name)))
return (env->value);
env = env->next;
}
diff --git a/src/execute_cmd.c b/src/execute_cmd.c
index e2b9d66..4b84e12 100644
--- a/src/execute_cmd.c
+++ b/src/execute_cmd.c
@@ -6,7 +6,7 @@
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/12/17 19:21:35 by chuhlig #+# #+# */
-/* Updated: 2025/01/19 19:15:46 by chuhlig ### ########.fr */
+/* Updated: 2025/01/20 15:43:41 by chuhlig ### ########.fr */
/* */
/* ************************************************************************** */
@@ -28,7 +28,7 @@ int is_builtin(char *cmd)
int execute_builtin(char **args, t_env **env)
{
if (ft_strcmp(args[0], "export") == 0)
- return (export(args, env));
+ return (export(args, env, ft_atoi("0")));
else if (ft_strcmp(args[0], "unset") == 0)
return (unset(args, env));
else if (ft_strcmp(args[0], "cd") == 0)
diff --git a/src/handle_redir.c b/src/handle_redir.c
index 29bba92..e8a1010 100644
--- a/src/handle_redir.c
+++ b/src/handle_redir.c
@@ -6,7 +6,7 @@
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/01/18 18:34:51 by chuhlig #+# #+# */
-/* Updated: 2025/01/18 18:47:31 by chuhlig ### ########.fr */
+/* Updated: 2025/01/20 14:59:38 by chuhlig ### ########.fr */
/* */
/* ************************************************************************** */
@@ -26,7 +26,7 @@ int handle_input_redirection(t_redirection *redir)
}
else if (redir->type == INPUT_LIMITER)
{
- fd = open_file("/tmp/heredoc_tmp", O_WRONLY | O_CREAT | O_TRUNC, 0644);
+ fd = open_file("/tmp/heredoc_tmp", O_WRONLY | O_TRUNC, 0644);
if (fd < 0)
return (-1);
write(fd, redir->specifier, ft_strlen(redir->specifier));
@@ -46,7 +46,7 @@ int handle_output_redirection(t_redirection *redir)
if (redir->type == OUTPUT_OVERRIDE)
{
- fd = open_file(redir->specifier, O_WRONLY | O_CREAT | O_TRUNC, 0644);
+ fd = open_file(redir->specifier, O_WRONLY | O_TRUNC, 0644);
if (fd < 0)
return (-1);
dup2(fd, STDOUT_FILENO);
@@ -54,7 +54,7 @@ int handle_output_redirection(t_redirection *redir)
}
else if (redir->type == OUTPUT_APPEND)
{
- fd = open_file(redir->specifier, O_WRONLY | O_CREAT | O_APPEND, 0644);
+ fd = open_file(redir->specifier, O_WRONLY | O_APPEND, 0644);
if (fd < 0)
return (-1);
dup2(fd, STDOUT_FILENO);