]> git.dkaiser.de - 42/minishell.git/commitdiff
fixed a bunch of stuff
authorChristopher Uhlig <chuhlig@3-H-8.42heilbronn.de>
Mon, 20 Jan 2025 16:34:02 +0000 (17:34 +0100)
committerChristopher Uhlig <chuhlig@3-H-8.42heilbronn.de>
Mon, 20 Jan 2025 16:34:02 +0000 (17:34 +0100)
67 files changed:
.vscode/c_cpp_properties.json [new file with mode: 0644]
.vscode/launch.json [new file with mode: 0644]
.vscode/settings.json [new file with mode: 0644]
.vscode/tasks.json [new file with mode: 0644]
include/env.h
include/minishell.h
lib/libft/_obj/ft_atoi.o [deleted file]
lib/libft/_obj/ft_atol.o [deleted file]
lib/libft/_obj/ft_bzero.o [deleted file]
lib/libft/_obj/ft_calloc.o [deleted file]
lib/libft/_obj/ft_isalnum.o [deleted file]
lib/libft/_obj/ft_isalpha.o [deleted file]
lib/libft/_obj/ft_isascii.o [deleted file]
lib/libft/_obj/ft_isdigit.o [deleted file]
lib/libft/_obj/ft_isprint.o [deleted file]
lib/libft/_obj/ft_isspace.o [deleted file]
lib/libft/_obj/ft_itoa.o [deleted file]
lib/libft/_obj/ft_lstadd_back_bonus.o [deleted file]
lib/libft/_obj/ft_lstadd_front_bonus.o [deleted file]
lib/libft/_obj/ft_lstclear_bonus.o [deleted file]
lib/libft/_obj/ft_lstdelone_bonus.o [deleted file]
lib/libft/_obj/ft_lstiter_bonus.o [deleted file]
lib/libft/_obj/ft_lstlast_bonus.o [deleted file]
lib/libft/_obj/ft_lstmap_bonus.o [deleted file]
lib/libft/_obj/ft_lstnew_bonus.o [deleted file]
lib/libft/_obj/ft_lstsize_bonus.o [deleted file]
lib/libft/_obj/ft_memchr.o [deleted file]
lib/libft/_obj/ft_memcmp.o [deleted file]
lib/libft/_obj/ft_memcpy.o [deleted file]
lib/libft/_obj/ft_memmove.o [deleted file]
lib/libft/_obj/ft_memset.o [deleted file]
lib/libft/_obj/ft_printaddr.o [deleted file]
lib/libft/_obj/ft_printf.o [deleted file]
lib/libft/_obj/ft_printhex.o [deleted file]
lib/libft/_obj/ft_printnbr.o [deleted file]
lib/libft/_obj/ft_putchar_fd.o [deleted file]
lib/libft/_obj/ft_putendl_fd.o [deleted file]
lib/libft/_obj/ft_putnbr_fd.o [deleted file]
lib/libft/_obj/ft_putstr_fd.o [deleted file]
lib/libft/_obj/ft_split.o [deleted file]
lib/libft/_obj/ft_strcat.o [deleted file]
lib/libft/_obj/ft_strchr.o [deleted file]
lib/libft/_obj/ft_strcmp.o [deleted file]
lib/libft/_obj/ft_strcpy.o [deleted file]
lib/libft/_obj/ft_strdup.o [deleted file]
lib/libft/_obj/ft_striteri.o [deleted file]
lib/libft/_obj/ft_strjoin.o [deleted file]
lib/libft/_obj/ft_strlcat.o [deleted file]
lib/libft/_obj/ft_strlcpy.o [deleted file]
lib/libft/_obj/ft_strlen.o [deleted file]
lib/libft/_obj/ft_strmapi.o [deleted file]
lib/libft/_obj/ft_strncmp.o [deleted file]
lib/libft/_obj/ft_strncpy.o [deleted file]
lib/libft/_obj/ft_strnstr.o [deleted file]
lib/libft/_obj/ft_strrchr.o [deleted file]
lib/libft/_obj/ft_strtrim.o [deleted file]
lib/libft/_obj/ft_substr.o [deleted file]
lib/libft/_obj/ft_tolower.o [deleted file]
lib/libft/_obj/ft_toupper.o [deleted file]
lib/libft/_obj/get_next_line.o [deleted file]
lib/libft/_obj/get_next_line_utils.o [deleted file]
lib/libft/libft.a [deleted file]
src/builtins_part_one.c
src/builtins_part_three.c
src/env.c
src/execute_cmd.c
src/handle_redir.c

diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
new file mode 100644 (file)
index 0000000..94b2ae4
--- /dev/null
@@ -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 (file)
index 0000000..86fa44a
--- /dev/null
@@ -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 (file)
index 0000000..e43ecab
--- /dev/null
@@ -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 (file)
index 0000000..4ede37a
--- /dev/null
@@ -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
index 3fc83b7f96be6f82075fe4b3e37c4d34c84b7f38..56b50b553c897e716f2d797506f942238e12c541 100644 (file)
@@ -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
index 7a573e89107feba96554334a560e730284f6107d..03553a7cff5affffe64bd50a601f9d4db3028263 100644 (file)
@@ -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 (file)
index efcdc0d..0000000
Binary files a/lib/libft/_obj/ft_atoi.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_atol.o b/lib/libft/_obj/ft_atol.o
deleted file mode 100644 (file)
index 3126061..0000000
Binary files a/lib/libft/_obj/ft_atol.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_bzero.o b/lib/libft/_obj/ft_bzero.o
deleted file mode 100644 (file)
index 64ddf3a..0000000
Binary files a/lib/libft/_obj/ft_bzero.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_calloc.o b/lib/libft/_obj/ft_calloc.o
deleted file mode 100644 (file)
index 39c2c05..0000000
Binary files a/lib/libft/_obj/ft_calloc.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_isalnum.o b/lib/libft/_obj/ft_isalnum.o
deleted file mode 100644 (file)
index 3aecc58..0000000
Binary files a/lib/libft/_obj/ft_isalnum.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_isalpha.o b/lib/libft/_obj/ft_isalpha.o
deleted file mode 100644 (file)
index da20b01..0000000
Binary files a/lib/libft/_obj/ft_isalpha.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_isascii.o b/lib/libft/_obj/ft_isascii.o
deleted file mode 100644 (file)
index 2262942..0000000
Binary files a/lib/libft/_obj/ft_isascii.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_isdigit.o b/lib/libft/_obj/ft_isdigit.o
deleted file mode 100644 (file)
index a0e0f40..0000000
Binary files a/lib/libft/_obj/ft_isdigit.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_isprint.o b/lib/libft/_obj/ft_isprint.o
deleted file mode 100644 (file)
index 8cf5033..0000000
Binary files a/lib/libft/_obj/ft_isprint.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_isspace.o b/lib/libft/_obj/ft_isspace.o
deleted file mode 100644 (file)
index f6f10e8..0000000
Binary files a/lib/libft/_obj/ft_isspace.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_itoa.o b/lib/libft/_obj/ft_itoa.o
deleted file mode 100644 (file)
index 447812f..0000000
Binary files a/lib/libft/_obj/ft_itoa.o and /dev/null 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 (file)
index 566f7fc..0000000
Binary files a/lib/libft/_obj/ft_lstadd_back_bonus.o and /dev/null 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 (file)
index f456510..0000000
Binary files a/lib/libft/_obj/ft_lstadd_front_bonus.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_lstclear_bonus.o b/lib/libft/_obj/ft_lstclear_bonus.o
deleted file mode 100644 (file)
index cbf23d7..0000000
Binary files a/lib/libft/_obj/ft_lstclear_bonus.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_lstdelone_bonus.o b/lib/libft/_obj/ft_lstdelone_bonus.o
deleted file mode 100644 (file)
index c357699..0000000
Binary files a/lib/libft/_obj/ft_lstdelone_bonus.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_lstiter_bonus.o b/lib/libft/_obj/ft_lstiter_bonus.o
deleted file mode 100644 (file)
index 139d20d..0000000
Binary files a/lib/libft/_obj/ft_lstiter_bonus.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_lstlast_bonus.o b/lib/libft/_obj/ft_lstlast_bonus.o
deleted file mode 100644 (file)
index 0f262f1..0000000
Binary files a/lib/libft/_obj/ft_lstlast_bonus.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_lstmap_bonus.o b/lib/libft/_obj/ft_lstmap_bonus.o
deleted file mode 100644 (file)
index d4ed0b6..0000000
Binary files a/lib/libft/_obj/ft_lstmap_bonus.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_lstnew_bonus.o b/lib/libft/_obj/ft_lstnew_bonus.o
deleted file mode 100644 (file)
index 98420b2..0000000
Binary files a/lib/libft/_obj/ft_lstnew_bonus.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_lstsize_bonus.o b/lib/libft/_obj/ft_lstsize_bonus.o
deleted file mode 100644 (file)
index 1ce926d..0000000
Binary files a/lib/libft/_obj/ft_lstsize_bonus.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_memchr.o b/lib/libft/_obj/ft_memchr.o
deleted file mode 100644 (file)
index 23efe3d..0000000
Binary files a/lib/libft/_obj/ft_memchr.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_memcmp.o b/lib/libft/_obj/ft_memcmp.o
deleted file mode 100644 (file)
index ca68348..0000000
Binary files a/lib/libft/_obj/ft_memcmp.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_memcpy.o b/lib/libft/_obj/ft_memcpy.o
deleted file mode 100644 (file)
index 253e17e..0000000
Binary files a/lib/libft/_obj/ft_memcpy.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_memmove.o b/lib/libft/_obj/ft_memmove.o
deleted file mode 100644 (file)
index df18bef..0000000
Binary files a/lib/libft/_obj/ft_memmove.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_memset.o b/lib/libft/_obj/ft_memset.o
deleted file mode 100644 (file)
index be0b314..0000000
Binary files a/lib/libft/_obj/ft_memset.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_printaddr.o b/lib/libft/_obj/ft_printaddr.o
deleted file mode 100644 (file)
index 64e9dea..0000000
Binary files a/lib/libft/_obj/ft_printaddr.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_printf.o b/lib/libft/_obj/ft_printf.o
deleted file mode 100644 (file)
index 44aedad..0000000
Binary files a/lib/libft/_obj/ft_printf.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_printhex.o b/lib/libft/_obj/ft_printhex.o
deleted file mode 100644 (file)
index 5ef814f..0000000
Binary files a/lib/libft/_obj/ft_printhex.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_printnbr.o b/lib/libft/_obj/ft_printnbr.o
deleted file mode 100644 (file)
index 278895f..0000000
Binary files a/lib/libft/_obj/ft_printnbr.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_putchar_fd.o b/lib/libft/_obj/ft_putchar_fd.o
deleted file mode 100644 (file)
index e3a7ad2..0000000
Binary files a/lib/libft/_obj/ft_putchar_fd.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_putendl_fd.o b/lib/libft/_obj/ft_putendl_fd.o
deleted file mode 100644 (file)
index 5ff74c8..0000000
Binary files a/lib/libft/_obj/ft_putendl_fd.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_putnbr_fd.o b/lib/libft/_obj/ft_putnbr_fd.o
deleted file mode 100644 (file)
index 1de6482..0000000
Binary files a/lib/libft/_obj/ft_putnbr_fd.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_putstr_fd.o b/lib/libft/_obj/ft_putstr_fd.o
deleted file mode 100644 (file)
index bc970e3..0000000
Binary files a/lib/libft/_obj/ft_putstr_fd.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_split.o b/lib/libft/_obj/ft_split.o
deleted file mode 100644 (file)
index d5df61b..0000000
Binary files a/lib/libft/_obj/ft_split.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strcat.o b/lib/libft/_obj/ft_strcat.o
deleted file mode 100644 (file)
index f749d90..0000000
Binary files a/lib/libft/_obj/ft_strcat.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strchr.o b/lib/libft/_obj/ft_strchr.o
deleted file mode 100644 (file)
index fea0b41..0000000
Binary files a/lib/libft/_obj/ft_strchr.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strcmp.o b/lib/libft/_obj/ft_strcmp.o
deleted file mode 100644 (file)
index 5c7286b..0000000
Binary files a/lib/libft/_obj/ft_strcmp.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strcpy.o b/lib/libft/_obj/ft_strcpy.o
deleted file mode 100644 (file)
index d556c8f..0000000
Binary files a/lib/libft/_obj/ft_strcpy.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strdup.o b/lib/libft/_obj/ft_strdup.o
deleted file mode 100644 (file)
index e052b40..0000000
Binary files a/lib/libft/_obj/ft_strdup.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_striteri.o b/lib/libft/_obj/ft_striteri.o
deleted file mode 100644 (file)
index e8264a9..0000000
Binary files a/lib/libft/_obj/ft_striteri.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strjoin.o b/lib/libft/_obj/ft_strjoin.o
deleted file mode 100644 (file)
index bb8a89e..0000000
Binary files a/lib/libft/_obj/ft_strjoin.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strlcat.o b/lib/libft/_obj/ft_strlcat.o
deleted file mode 100644 (file)
index e7aff81..0000000
Binary files a/lib/libft/_obj/ft_strlcat.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strlcpy.o b/lib/libft/_obj/ft_strlcpy.o
deleted file mode 100644 (file)
index 695a120..0000000
Binary files a/lib/libft/_obj/ft_strlcpy.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strlen.o b/lib/libft/_obj/ft_strlen.o
deleted file mode 100644 (file)
index 2c66545..0000000
Binary files a/lib/libft/_obj/ft_strlen.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strmapi.o b/lib/libft/_obj/ft_strmapi.o
deleted file mode 100644 (file)
index 345a34a..0000000
Binary files a/lib/libft/_obj/ft_strmapi.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strncmp.o b/lib/libft/_obj/ft_strncmp.o
deleted file mode 100644 (file)
index 683c861..0000000
Binary files a/lib/libft/_obj/ft_strncmp.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strncpy.o b/lib/libft/_obj/ft_strncpy.o
deleted file mode 100644 (file)
index 5585d29..0000000
Binary files a/lib/libft/_obj/ft_strncpy.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strnstr.o b/lib/libft/_obj/ft_strnstr.o
deleted file mode 100644 (file)
index 4f42fd4..0000000
Binary files a/lib/libft/_obj/ft_strnstr.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strrchr.o b/lib/libft/_obj/ft_strrchr.o
deleted file mode 100644 (file)
index c6b2a16..0000000
Binary files a/lib/libft/_obj/ft_strrchr.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_strtrim.o b/lib/libft/_obj/ft_strtrim.o
deleted file mode 100644 (file)
index b4ac15c..0000000
Binary files a/lib/libft/_obj/ft_strtrim.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_substr.o b/lib/libft/_obj/ft_substr.o
deleted file mode 100644 (file)
index eebbca7..0000000
Binary files a/lib/libft/_obj/ft_substr.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_tolower.o b/lib/libft/_obj/ft_tolower.o
deleted file mode 100644 (file)
index 940856f..0000000
Binary files a/lib/libft/_obj/ft_tolower.o and /dev/null differ
diff --git a/lib/libft/_obj/ft_toupper.o b/lib/libft/_obj/ft_toupper.o
deleted file mode 100644 (file)
index 137ae03..0000000
Binary files a/lib/libft/_obj/ft_toupper.o and /dev/null differ
diff --git a/lib/libft/_obj/get_next_line.o b/lib/libft/_obj/get_next_line.o
deleted file mode 100644 (file)
index d5cbdc5..0000000
Binary files a/lib/libft/_obj/get_next_line.o and /dev/null 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 (file)
index 0eecbe7..0000000
Binary files a/lib/libft/_obj/get_next_line_utils.o and /dev/null differ
diff --git a/lib/libft/libft.a b/lib/libft/libft.a
deleted file mode 100644 (file)
index 1a43a20..0000000
Binary files a/lib/libft/libft.a and /dev/null differ
index 7cbcdeb20b19d530b388328ac3ac735ada601393..629cc8752e010db21f1bb21acd2a70eec71bbb68 100644 (file)
@@ -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));
 }
index 7c73e95787a2241adfc407753495d08abe5e5608..5f6fa31d4d9638530eca0131de18f54ad671202d 100644 (file)
@@ -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);
+}
index 19729096847827e759a1f25519ab06e303eee538..cc9cfaeb9c7d86bac4f9ac68170f91fcebcb96f9 100644 (file)
--- 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;
        }
index e2b9d66c1f192ffe1cd49b65bf8f20b2d8358cba..4b84e1290d0b40538585db4b3c5f549d1d0de711 100644 (file)
@@ -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)
index 29bba923a23c5d9351061bddcb1d5f4d02be9eff..e8a10108e87839300d47aeeb9babaaa242ba75cd 100644 (file)
@@ -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);