]> git.dkaiser.de - 42/minishell.git/commitdiff
fixe ? added a export return maybe ussles
authorChristopher Uhlig <chuhlig@3-G-4.42heilbronn.de>
Tue, 14 Jan 2025 19:21:31 +0000 (20:21 +0100)
committerChristopher Uhlig <chuhlig@3-G-4.42heilbronn.de>
Tue, 14 Jan 2025 19:21:31 +0000 (20:21 +0100)
86 files changed:
_obj/builtins_part_one.o [new file with mode: 0644]
_obj/builtins_part_two.o [new file with mode: 0644]
_obj/collect_redirs.o [new file with mode: 0644]
_obj/debug_tools.o [new file with mode: 0644]
_obj/env.o [new file with mode: 0644]
_obj/env_to_strlst.o [new file with mode: 0644]
_obj/execute_cmd.o [new file with mode: 0644]
_obj/format_string.o [new file with mode: 0644]
_obj/free_node.o [new file with mode: 0644]
_obj/free_token.o [new file with mode: 0644]
_obj/get_cmd_path.o [new file with mode: 0644]
_obj/init.o [new file with mode: 0644]
_obj/interpreter.o [new file with mode: 0644]
_obj/main.o [new file with mode: 0644]
_obj/new_node.o [new file with mode: 0644]
_obj/new_token.o [new file with mode: 0644]
_obj/parse_cmd.o [new file with mode: 0644]
_obj/parser.o [new file with mode: 0644]
_obj/print_ast.o [new file with mode: 0644]
_obj/repl.o [new file with mode: 0644]
_obj/signal_handling.o [new file with mode: 0644]
_obj/tokenizer.o [new file with mode: 0644]
garbage
lib/libft/_obj/ft_atoi.o [new file with mode: 0644]
lib/libft/_obj/ft_atol.o [new file with mode: 0644]
lib/libft/_obj/ft_bzero.o [new file with mode: 0644]
lib/libft/_obj/ft_calloc.o [new file with mode: 0644]
lib/libft/_obj/ft_isalnum.o [new file with mode: 0644]
lib/libft/_obj/ft_isalpha.o [new file with mode: 0644]
lib/libft/_obj/ft_isascii.o [new file with mode: 0644]
lib/libft/_obj/ft_isdigit.o [new file with mode: 0644]
lib/libft/_obj/ft_isprint.o [new file with mode: 0644]
lib/libft/_obj/ft_isspace.o [new file with mode: 0644]
lib/libft/_obj/ft_itoa.o [new file with mode: 0644]
lib/libft/_obj/ft_lstadd_back_bonus.o [new file with mode: 0644]
lib/libft/_obj/ft_lstadd_front_bonus.o [new file with mode: 0644]
lib/libft/_obj/ft_lstclear_bonus.o [new file with mode: 0644]
lib/libft/_obj/ft_lstdelone_bonus.o [new file with mode: 0644]
lib/libft/_obj/ft_lstiter_bonus.o [new file with mode: 0644]
lib/libft/_obj/ft_lstlast_bonus.o [new file with mode: 0644]
lib/libft/_obj/ft_lstmap_bonus.o [new file with mode: 0644]
lib/libft/_obj/ft_lstnew_bonus.o [new file with mode: 0644]
lib/libft/_obj/ft_lstsize_bonus.o [new file with mode: 0644]
lib/libft/_obj/ft_memchr.o [new file with mode: 0644]
lib/libft/_obj/ft_memcmp.o [new file with mode: 0644]
lib/libft/_obj/ft_memcpy.o [new file with mode: 0644]
lib/libft/_obj/ft_memmove.o [new file with mode: 0644]
lib/libft/_obj/ft_memset.o [new file with mode: 0644]
lib/libft/_obj/ft_printaddr.o [new file with mode: 0644]
lib/libft/_obj/ft_printf.o [new file with mode: 0644]
lib/libft/_obj/ft_printhex.o [new file with mode: 0644]
lib/libft/_obj/ft_printnbr.o [new file with mode: 0644]
lib/libft/_obj/ft_putchar_fd.o [new file with mode: 0644]
lib/libft/_obj/ft_putendl_fd.o [new file with mode: 0644]
lib/libft/_obj/ft_putnbr_fd.o [new file with mode: 0644]
lib/libft/_obj/ft_putstr_fd.o [new file with mode: 0644]
lib/libft/_obj/ft_split.o [new file with mode: 0644]
lib/libft/_obj/ft_strcat.o [new file with mode: 0644]
lib/libft/_obj/ft_strchr.o [new file with mode: 0644]
lib/libft/_obj/ft_strcmp.o [new file with mode: 0644]
lib/libft/_obj/ft_strcpy.o [new file with mode: 0644]
lib/libft/_obj/ft_strdup.o [new file with mode: 0644]
lib/libft/_obj/ft_striteri.o [new file with mode: 0644]
lib/libft/_obj/ft_strjoin.o [new file with mode: 0644]
lib/libft/_obj/ft_strlcat.o [new file with mode: 0644]
lib/libft/_obj/ft_strlcpy.o [new file with mode: 0644]
lib/libft/_obj/ft_strlen.o [new file with mode: 0644]
lib/libft/_obj/ft_strmapi.o [new file with mode: 0644]
lib/libft/_obj/ft_strncmp.o [new file with mode: 0644]
lib/libft/_obj/ft_strncpy.o [new file with mode: 0644]
lib/libft/_obj/ft_strnstr.o [new file with mode: 0644]
lib/libft/_obj/ft_strrchr.o [new file with mode: 0644]
lib/libft/_obj/ft_strtrim.o [new file with mode: 0644]
lib/libft/_obj/ft_substr.o [new file with mode: 0644]
lib/libft/_obj/ft_tolower.o [new file with mode: 0644]
lib/libft/_obj/ft_toupper.o [new file with mode: 0644]
lib/libft/_obj/get_next_line.o [new file with mode: 0644]
lib/libft/_obj/get_next_line_utils.o [new file with mode: 0644]
lib/libft/libft.a [new file with mode: 0644]
minishell [new file with mode: 0755]
src/builtins_part_one.c
src/builtins_part_two.c
src/env_to_strlst.c
src/execute_cmd.c
src/interpreter.c
src/main.c

diff --git a/_obj/builtins_part_one.o b/_obj/builtins_part_one.o
new file mode 100644 (file)
index 0000000..e724cde
Binary files /dev/null and b/_obj/builtins_part_one.o differ
diff --git a/_obj/builtins_part_two.o b/_obj/builtins_part_two.o
new file mode 100644 (file)
index 0000000..591351b
Binary files /dev/null and b/_obj/builtins_part_two.o differ
diff --git a/_obj/collect_redirs.o b/_obj/collect_redirs.o
new file mode 100644 (file)
index 0000000..e9dfedc
Binary files /dev/null and b/_obj/collect_redirs.o differ
diff --git a/_obj/debug_tools.o b/_obj/debug_tools.o
new file mode 100644 (file)
index 0000000..eaf039b
Binary files /dev/null and b/_obj/debug_tools.o differ
diff --git a/_obj/env.o b/_obj/env.o
new file mode 100644 (file)
index 0000000..2db2bf1
Binary files /dev/null and b/_obj/env.o differ
diff --git a/_obj/env_to_strlst.o b/_obj/env_to_strlst.o
new file mode 100644 (file)
index 0000000..aef9925
Binary files /dev/null and b/_obj/env_to_strlst.o differ
diff --git a/_obj/execute_cmd.o b/_obj/execute_cmd.o
new file mode 100644 (file)
index 0000000..dd2108c
Binary files /dev/null and b/_obj/execute_cmd.o differ
diff --git a/_obj/format_string.o b/_obj/format_string.o
new file mode 100644 (file)
index 0000000..34e623e
Binary files /dev/null and b/_obj/format_string.o differ
diff --git a/_obj/free_node.o b/_obj/free_node.o
new file mode 100644 (file)
index 0000000..5f03965
Binary files /dev/null and b/_obj/free_node.o differ
diff --git a/_obj/free_token.o b/_obj/free_token.o
new file mode 100644 (file)
index 0000000..846891a
Binary files /dev/null and b/_obj/free_token.o differ
diff --git a/_obj/get_cmd_path.o b/_obj/get_cmd_path.o
new file mode 100644 (file)
index 0000000..089c6cb
Binary files /dev/null and b/_obj/get_cmd_path.o differ
diff --git a/_obj/init.o b/_obj/init.o
new file mode 100644 (file)
index 0000000..15686e9
Binary files /dev/null and b/_obj/init.o differ
diff --git a/_obj/interpreter.o b/_obj/interpreter.o
new file mode 100644 (file)
index 0000000..ede17a9
Binary files /dev/null and b/_obj/interpreter.o differ
diff --git a/_obj/main.o b/_obj/main.o
new file mode 100644 (file)
index 0000000..3c519b7
Binary files /dev/null and b/_obj/main.o differ
diff --git a/_obj/new_node.o b/_obj/new_node.o
new file mode 100644 (file)
index 0000000..01bb91a
Binary files /dev/null and b/_obj/new_node.o differ
diff --git a/_obj/new_token.o b/_obj/new_token.o
new file mode 100644 (file)
index 0000000..769a27f
Binary files /dev/null and b/_obj/new_token.o differ
diff --git a/_obj/parse_cmd.o b/_obj/parse_cmd.o
new file mode 100644 (file)
index 0000000..d958bed
Binary files /dev/null and b/_obj/parse_cmd.o differ
diff --git a/_obj/parser.o b/_obj/parser.o
new file mode 100644 (file)
index 0000000..2bd36cc
Binary files /dev/null and b/_obj/parser.o differ
diff --git a/_obj/print_ast.o b/_obj/print_ast.o
new file mode 100644 (file)
index 0000000..11b1189
Binary files /dev/null and b/_obj/print_ast.o differ
diff --git a/_obj/repl.o b/_obj/repl.o
new file mode 100644 (file)
index 0000000..a33185f
Binary files /dev/null and b/_obj/repl.o differ
diff --git a/_obj/signal_handling.o b/_obj/signal_handling.o
new file mode 100644 (file)
index 0000000..b209798
Binary files /dev/null and b/_obj/signal_handling.o differ
diff --git a/_obj/tokenizer.o b/_obj/tokenizer.o
new file mode 100644 (file)
index 0000000..6301661
Binary files /dev/null and b/_obj/tokenizer.o differ
diff --git a/garbage b/garbage
index 5b5afd8fc94170f3384f7c4dbfba2f09e690bbcb..07f44dc9ee17d7b9836d25f4ddd34e49b85f1d8d 100644 (file)
--- a/garbage
+++ b/garbage
@@ -499,217 +499,214 @@ und in parse cmd collect args and  x
 format args seems to work later test x
 
 
-Test   1: ✅ echo hello world
-Test   2: ✅ echo "hello world"
-Test   3: ✅ echo 'hello world'
-Test   4: ✅ echo hello'world'
-Test   5: ✅ echo hello""world
-Test   6: ✅ echo ''
-Test   7: ✅ echo "$PWD"
-Test   8: ✅ echo '$PWD'
-
-
-
-Test   9: ❌ echo "aspas ->'" string formater checken
+Test   1: ✅ echo hello world 
+Test   2: ✅ echo "hello world" 
+Test   3: ✅ echo 'hello world' 
+Test   4: ✅ echo hello'world' 
+Test   5: ✅ echo hello""world 
+Test   6: ✅ echo '' 
+Test   7: ✅ echo "$PWD" 
+Test   8: ✅ echo '$PWD' 
+
+format_string problem
+Test   9: ❌ echo "aspas ->'" 
 mini output = (aspas ->")
 bash output = (aspas ->')
-Test  10: ❌ echo "aspas -> ' "
+Test  10: ❌ echo "aspas -> ' " 
 mini output = (aspas -> ")
 bash output = (aspas -> ' )
-Test  11: ✅ echo 'aspas ->"'
-Test  12: ✅ echo 'aspas -> " '
-
-
-Test  13: ❌ echo "> >> < * ? [ ] | ; [ ] || && ( ) & # $  <<"
+Test  11: ✅ echo 'aspas ->"' 
+Test  12: ✅ echo 'aspas -> " ' 
+Test  13: ❌ echo "> >> < * ? [ ] | ; [ ] || && ( ) & # $  <<" 
 mini output = (> >> < README.md bash.supp bash_outfiles bonus bonus_bonus builtins extras local.supp loop.out manual_tests mini_outfiles os_specific outfiles pipes redirects syntax test_files tester wildcards ? [ ] | ; [ ] || && ( ) & # )
 bash output = (> >> < README.md bash.supp bash_outfiles bonus bonus_bonus builtins extras local.supp loop.out manual_tests mini_outfiles os_specific outfiles pipes redirects syntax test_files tester wildcards ? [ ] | ; [ ] || && ( ) & # $ <<)
-Test  14: ✅ echo '> >> < * ? [ ] | ; [ ] || && ( ) & # $  <<'
-Test  15: ❌ echo "exit_code ->$? user ->$USER home -> $HOME"
-mini output = (exit_code ->/Users/dkaiser)
-bash output = (exit_code ->0 user ->dkaiser home -> /Users/dkaiser)
-Test  16: ✅ echo 'exit_code ->$? user ->$USER home -> $HOME'
-
-string formater checken
-Test  17: ❌ echo "$"
-mini output = (../minishell)
+Test  14: ✅ echo '> >> < * ? [ ] | ; [ ] || && ( ) & # $  <<' 
+Test  15: ❌ echo "exit_code ->$? user ->$USER home -> $HOME" 
+mini output = (exit_code ->/Users/chuhlig)
+bash output = (exit_code ->0 user ->chuhlig home -> /Users/chuhlig)
+Test  16: ✅ echo 'exit_code ->$? user ->$USER home -> $HOME' 
+Test  17: ❌ echo "$" 
+mini output = (0)
 bash output = ($)
-Test  18: ✅ echo '$'
-Test  19: ❌ echo $
-mini output = (../minishell)
+Test  18: ✅ echo '$' 
+Test  19: ❌ echo $ 
+mini output = (0)
 bash output = ($)
-Test  20: ❌ echo $?
-mini output = ()
-bash output = (0)
-Test  21: ❌ echo $?HELLO
+Test  20: ✅ echo $? 
+Test  21: ❌ echo $?HELLO 
 mini output = ()
 bash output = (0HELLO)
-Test  22: ✅ pwd
-Test  23: ✅ pwd oi
-Test  24: ✅ export hello
-Test  25: ✅ export HELLO=123
-Test  26: ❌ export A-
-mini exit code = 0
-bash exit code = 1
+Test  22: ✅ pwd 
+Test  23: ✅ pwd oi 
+
+Test  24: ❌ export hello                           //stupid
+mini exit code = 1
+bash exit code = 0
+Test  25: ✅ export HELLO=123 
+Test  26: ✅⚠️  export A- 
 mini error = ()
 bash error = ( not a valid identifier)
-Test  27: ✅ export HELLO=123 A
-Test  28: ✅ export HELLO="123 A-"
-Test  29: ✅ export hello world
-Test  30: ❌ export HELLO-=123
+                                                                                       fucking extra function for identifier
+
+Test  27: ❌ export HELLO=123 A 
+mini exit code = 1
+bash exit code = 0
+auch dum
+Test  28: ✅ export HELLO="123 A-" 
+Test  29: ❌ export hello world 
+mini exit code = 1
+bash exit code = 0
+Test  30: ❌ export HELLO-=123 
 mini exit code = 0
 bash exit code = 1
 mini error = ()
 bash error = ( not a valid identifier)
-Test  31: ❌ export =
+Test  31: ❌ export = 
 mini exit code = 0
 bash exit code = 1
 mini error = ()
 bash error = ( not a valid identifier)
-Test  32: ❌ export 123
-mini exit code = 0
-bash exit code = 1
+Test  32: ✅⚠️  export 123 
 mini error = ()
 bash error = ( not a valid identifier)
-Test  33: ✅ unset
-Test  34: ✅ unset HELLO
-Test  35: ✅ unset HELLO1 HELLO2
-Test  36: ✅ unset HOME
-Test  37: ✅ unset PATH
-Test  38: ✅ unset SHELL
-Test  39: ❌ cd $PWD
+Test  33: ✅ unset 
+Test  34: ✅ unset HELLO 
+Test  35: ✅ unset HELLO1 HELLO2 
+Test  36: ✅ unset HOME 
+Test  37: ✅ unset PATH 
+Test  38: ✅ unset SHELL 
+
+
+Test  39: ❌ cd $PWD 
 mini exit code = 139
 bash exit code = 0
-Test  40: ❌ cd $PWD hi
+Test  40: ❌ cd $PWD hi 
 mini exit code = 139
 bash exit code = 0
-Test  41: ❌ cd 123123
+Test  41: ❌ cd 123123 
 mini exit code = 139
 bash exit code = 1
 mini error = ()
 bash error = ( No such file or directory)
-Test  42: ❌ exit 123
-mini exit code = 0
-bash exit code = 123
-Test  43: ❌ exit 298
-mini exit code = 0
-bash exit code = 42
-Test  44: ❌ exit +100
-mini exit code = 0
-bash exit code = 100
-Test  45: ❌ exit "+100"
-mini exit code = 0
-bash exit code = 100
-Test  46: ❌ exit +"100"
-mini exit code = 0
-bash exit code = 100
-Test  47: ❌ exit -100
-mini exit code = 0
-bash exit code = 156
-Test  48: ❌ exit "-100"
-mini exit code = 0
-bash exit code = 156
-Test  49: ❌ exit -"100"
-mini exit code = 0
-bash exit code = 156
-Test  50: ❌ exit hello
+
+Test  42: ✅ exit 123 
+Test  43: ✅ exit 298 
+Test  44: ✅ exit +100 
+Test  45: ✅ exit "+100" 
+Test  46: ✅ exit +"100" 
+Test  47: ✅ exit -100 
+Test  48: ✅ exit "-100" 
+Test  49: ✅ exit -"100" 
+
+needs a update
+Test  50: ❌ exit hello 
 mini exit code = 0
 bash exit code = 255
 mini error = ()
 bash error = ( numeric argument required)
-Test  51: ❌ exit 42 world
-mini exit code = 0
+
+edge case
+Test  51: ❌ exit 42 world 
+mini exit code = 42
 bash exit code = 1
 mini error = ()
 bash error = ( too many arguments)
-Test  52: ❌
-mini exit code =
-bash exit code = 0
+Test  52: ✅  
 ———————————— pipes
-Test  53: ✅ env | sort | grep -v SHLVL | grep -v ^_
-Test  54: ✅ cat ./test_files/infile_big | grep oi
-Test  55: ✅ cat minishell.h | grep ");"$
-Test  56: ✅ export GHOST=123 | env | grep GHOST
+Test  53: ❌ env | sort | grep -v SHLVL | grep -v ^_ 
+mini output = (?=0 COLORTERM=truecolor GIT_ASKPASS=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh HOME=/Users/chuhlig LANG=en_US.UTF-8 LOGNAME=chuhlig MallocNanoZone=0 ORIGINAL_XDG_CURRENT_DESKTOP=undefined PATH=/Users/chuhlig/goinfre/.brew/bin:/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Users/chuhlig/goinfre/.brew/bin:/Users/chuhlig/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand PWD=/Users/chuhlig/Desktop/minishell/minishell_tester SHELL=/bin/zsh SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.8vcs8lnaog/Listeners TERM=xterm-256color TERM_PROGRAM=vscode TERM_PROGRAM_VERSION=1.96.2 TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ USER=chuhlig USER_ZDOTDIR=/Users/chuhlig VSCODE_GIT_ASKPASS_EXTRA_ARGS= VSCODE_GIT_ASKPASS_MAIN=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js VSCODE_GIT_ASKPASS_NODE=/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) VSCODE_GIT_IPC_HANDLE=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/vscode-git-a7f217e79d.sock VSCODE_INJECTION=1 XPC_FLAGS=0x0 XPC_SERVICE_NAME=0 ZDOTDIR=/Users/chuhlig)
+bash output = (COLORTERM=truecolor GIT_ASKPASS=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh HOME=/Users/chuhlig LANG=en_US.UTF-8 LOGNAME=chuhlig MallocNanoZone=0 ORIGINAL_XDG_CURRENT_DESKTOP=undefined PATH=/Users/chuhlig/goinfre/.brew/bin:/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Users/chuhlig/goinfre/.brew/bin:/Users/chuhlig/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand PWD=/Users/chuhlig/Desktop/minishell/minishell_tester SHELL=/bin/zsh SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.8vcs8lnaog/Listeners TERM=xterm-256color TERM_PROGRAM=vscode TERM_PROGRAM_VERSION=1.96.2 TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ USER=chuhlig USER_ZDOTDIR=/Users/chuhlig VSCODE_GIT_ASKPASS_EXTRA_ARGS= VSCODE_GIT_ASKPASS_MAIN=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js VSCODE_GIT_ASKPASS_NODE=/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) VSCODE_GIT_IPC_HANDLE=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/vscode-git-a7f217e79d.sock VSCODE_INJECTION=1 XPC_FLAGS=0x0 XPC_SERVICE_NAME=0 ZDOTDIR=/Users/chuhlig)
+Test  54: ✅ cat ./test_files/infile_big | grep oi 
+Test  55: ✅ cat minishell.h | grep ");"$ 
+Test  56: ✅ export GHOST=123 | env | grep GHOST 
 ———————————— redirects
-Test  57: ✅ grep hi <./test_files/infile
-Test  58: ✅ grep hi "<infile" <         ./test_files/infile
-Test  59: ✅ echo hi < ./test_files/infile bye bye
-Test  60: ✅ grep hi <./test_files/infile_big <./test_files/infile
-Test  61: ❌ echo <"./test_files/infile" "bonjour       42"
+Test  57: ✅ grep hi <./test_files/infile 
+Test  58: ✅ grep hi "<infile" <         ./test_files/infile 
+Test  59: ✅ echo hi < ./test_files/infile bye bye 
+Test  60: ✅ grep hi <./test_files/infile_big <./test_files/infile 
+
+
+Test  61: ❌ echo <"./test_files/infile" "bonjour       42"                  string handling issue
 mini output = ()
 bash output = (bonjour 42)
 mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory)
 bash error = ()
-Test  62: ❌ cat <"./test_files/file name with spaces"
+Test  62: ❌ cat <"./test_files/file name with spaces" 
 mini output = ()
 bash output = (😈 😈 😈 This will break your minishell 😈 😈 😈)
 mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory)
 bash error = ()
-Test  63: ✅ cat <./test_files/infile_big ./test_files/infile
-Test  64: ✅ cat <"1""2""3""4""5"
-Test  65: ✅ echo <"./test_files/infile" <missing <"./test_files/infile"
-Test  66: ✅ echo <missing <"./test_files/infile" <missing
-Test  67: ❌ cat <"./test_files/infile"
+Test  63: ✅ cat <./test_files/infile_big ./test_files/infile 
+Test  64: ✅ cat <"1""2""3""4""5" 
+Test  65: ✅ echo <"./test_files/infile" <missing <"./test_files/infile" 
+Test  66: ✅ echo <missing <"./test_files/infile" <missing 
+Test  67: ❌ cat <"./test_files/infile" 
 mini output = ()
 bash output = (hi hello world 42)
 mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory)
 bash error = ()
-Test  68: ❌ echo <"./test_files/infile_big" | cat <"./test_files/infile"
+Test  68: ❌ echo <"./test_files/infile_big" | cat <"./test_files/infile" 
 mini output = ()
 bash output = (hi hello world 42)
 mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory No such file or directory)
 bash error = ()
-Test  69: ✅⚠️  echo <"./test_files/infile_big" | cat "./test_files/infile"
+Test  69: ✅⚠️  echo <"./test_files/infile_big" | cat "./test_files/infile" 
 mini error = ( No such file or directory)
 bash error = ()
-Test  70: ❌ echo <"./test_files/infile_big" | echo <"./test_files/infile"
+Test  70: ❌ echo <"./test_files/infile_big" | echo <"./test_files/infile" 
 mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory No such file or directory)
 bash error = ()
-Test  71: ❌ echo hi | cat <"./test_files/infile"
+Test  71: ❌ echo hi | cat <"./test_files/infile" 
 mini output = ()
 bash output = (hi hello world 42)
 mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory)
 bash error = ()
-Test  72: ✅ echo hi | cat "./test_files/infile"
-Test  73: ✅⚠️  cat <"./test_files/infile" | echo hi
+Test  72: ✅ echo hi | cat "./test_files/infile" 
+Test  73: ✅⚠️  cat <"./test_files/infile" | echo hi 
 mini error = ( No such file or directory)
 bash error = ( Broken pipe)
-Test  74: ❌ cat <"./test_files/infile" | grep hello
+Test  74: ❌ cat <"./test_files/infile" | grep hello 
 mini output = ()
 bash output = (hello)
 mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory)
 bash error = ()
-Test  75: ✅⚠️  cat <"./test_files/infile_big" | echo hi
+Test  75: ✅⚠️  cat <"./test_files/infile_big" | echo hi 
 mini error = ( No such file or directory)
 bash error = ( Broken pipe)
-Test  76: ✅ cat <missing
-Test  77: ✅ cat <missing | cat
-Test  78: ✅ cat <missing | echo oi
-Test  79: ❌ cat <missing | cat <"./test_files/infile"
+Test  76: ✅ cat <missing 
+Test  77: ✅ cat <missing | cat 
+Test  78: ✅ cat <missing | echo oi 
+Test  79: ❌ cat <missing | cat <"./test_files/infile"  tokenizer check again
+
 mini output = ()
 bash output = (hi hello world 42)
 mini exit code = 1
 bash exit code = 0
-mini error = ( No such file or directory No such file or directory)
+mini error = ( No such file or directory No such file or directory) should be esier to find
 bash error = ( No such file or directory)
-Test  80: ✅ echo <123 <456 hi | echo 42
-Test  81: ✅ ls >./outfiles/outfile01
-Test  82: ✅ ls >         ./outfiles/outfile01
-Test  83: ✅ echo hi >         ./outfiles/outfile01 bye
-Test  84: ❌ ls >./outfiles/outfile01 >./outfiles/outfile02
+Test  80: ✅ echo <123 <456 hi | echo 42 
+Test  81: ✅ ls >./outfiles/outfile01 
+Test  82: ✅ ls >         ./outfiles/outfile01 
+Test  83: ✅ echo hi >         ./outfiles/outfile01 bye 
+
+
+check this extra
+
+Test  84: ❌ ls >./outfiles/outfile01 >./outfiles/outfile02 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 README.md
@@ -751,12 +748,12 @@ syntax
 test_files
 tester
 wildcards
-Test  85: ❌ ls >./outfiles/outfile01 >./test_files/invalid_permission
+Test  85: ❌ ls >./outfiles/outfile01 >./test_files/invalid_permission 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
 bash outfiles:
-Test  86: ❌ ls >"./outfiles/outfile with spaces"
+Test  86: ❌ ls >"./outfiles/outfile with spaces" 
 Only in ./bash_outfiles: outfile with spaces
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
@@ -784,7 +781,7 @@ mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory)
 bash error = ()
-Test  87: ❌ ls >"./outfiles/outfile""1""2""3""4""5"
+Test  87: ❌ ls >"./outfiles/outfile""1""2""3""4""5" 
 Only in ./bash_outfiles: outfile12345
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
@@ -812,15 +809,15 @@ mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory)
 bash error = ()
-Test  88: ❌ ls >"./outfiles/outfile01" >./test_files/invalid_permission >"./outfiles/outfile02"
+Test  88: ❌ ls >"./outfiles/outfile01" >./test_files/invalid_permission >"./outfiles/outfile02" 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
 bash outfiles:
 mini error = ( No such file or directory)
 bash error = ( Permission denied)
-Test  89: ✅ ls >./test_files/invalid_permission >"./outfiles/outfile01" >./test_files/invalid_permission
-Test  90: ❌ cat <"./test_files/infile" >"./outfiles/outfile01"
+Test  89: ✅ ls >./test_files/invalid_permission >"./outfiles/outfile01" >./test_files/invalid_permission 
+Test  90: ❌ cat <"./test_files/infile" >"./outfiles/outfile01" 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
@@ -833,28 +830,28 @@ mini exit code = 1
 bash exit code = 0
 mini error = ( No such file or directory)
 bash error = ()
-Test  91: ✅ echo hi >./outfiles/outfile01 | echo bye
-Test  92: ❌ echo hi >./outfiles/outfile01 >./outfiles/outfile02 | echo bye
+Test  91: ✅ echo hi >./outfiles/outfile01 | echo bye 
+Test  92: ❌ echo hi >./outfiles/outfile01 >./outfiles/outfile02 | echo bye 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 hi
 bash outfiles:
 hi
-Test  93: ✅ echo hi | echo >./outfiles/outfile01 bye
-Test  94: ❌ echo hi | echo bye >./outfiles/outfile01 >./outfiles/outfile02
+Test  93: ✅ echo hi | echo >./outfiles/outfile01 bye 
+Test  94: ❌ echo hi | echo bye >./outfiles/outfile01 >./outfiles/outfile02 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 bye
 bash outfiles:
 bye
-Test  95: ✅ echo hi >./outfiles/outfile01 | echo bye >./outfiles/outfile02
-Test  96: ❌ echo hi >./outfiles/outfile01 >./test_files/invalid_permission | echo bye
+Test  95: ✅ echo hi >./outfiles/outfile01 | echo bye >./outfiles/outfile02 
+Test  96: ❌ echo hi >./outfiles/outfile01 >./test_files/invalid_permission | echo bye 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
 bash outfiles:
-Test  97: ✅ echo hi >./test_files/invalid_permission | echo bye
-Test  98: ❌ echo hi >./test_files/invalid_permission >./outfiles/outfile01 | echo bye
+Test  97: ✅ echo hi >./test_files/invalid_permission | echo bye 
+Test  98: ❌ echo hi >./test_files/invalid_permission >./outfiles/outfile01 | echo bye 
 Only in ./mini_outfiles: outfile01
 mini outfiles:
 hi
@@ -862,8 +859,8 @@ bash outfiles:
 cat: ./bash_outfiles/*: No such file or directory
 mini error = ()
 bash error = ( Permission denied)
-Test  99: ✅ echo hi | echo bye >./test_files/invalid_permission
-Test 100: ❌ echo hi | >./outfiles/outfile01 echo bye >./test_files/invalid_permission
+Test  99: ✅ echo hi | echo bye >./test_files/invalid_permission 
+Test 100: ❌ echo hi | >./outfiles/outfile01 echo bye >./test_files/invalid_permission 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
@@ -872,7 +869,10 @@ mini exit code = 139
 bash exit code = 1
 mini error = ()
 bash error = ( Permission denied)
-Test 101: ❌ echo hi | echo bye >./test_files/invalid_permission >./outfiles/outfile01
+
+update for this.
+
+Test 101: ❌ echo hi | echo bye >./test_files/invalid_permission >./outfiles/outfile01 
 Only in ./mini_outfiles: outfile01
 mini outfiles:
 bye
@@ -882,32 +882,32 @@ mini exit code = 0
 bash exit code = 1
 mini error = ()
 bash error = ( Permission denied)
-Test 102: ✅⚠️  cat <"./test_files/infile" >./test_files/invalid_permission
+Test 102: ✅⚠️  cat <"./test_files/infile" >./test_files/invalid_permission 
 mini error = ( No such file or directory)
 bash error = ( Permission denied)
-Test 103: ✅⚠️  cat >./test_files/invalid_permission <"./test_files/infile"
+Test 103: ✅⚠️  cat >./test_files/invalid_permission <"./test_files/infile" 
 mini error = ( No such file or directory)
 bash error = ( Permission denied)
-Test 104: ✅ cat <missing >./outfiles/outfile01
-Test 105: ❌ cat >./outfiles/outfile01 <missing
+Test 104: ✅ cat <missing >./outfiles/outfile01 
+Test 105: ❌ cat >./outfiles/outfile01 <missing 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
 bash outfiles:
-Test 106: ✅ cat <missing >./test_files/invalid_permission
-Test 107: ✅⚠️  cat >./test_files/invalid_permission <missing
+Test 106: ✅ cat <missing >./test_files/invalid_permission 
+Test 107: ✅⚠️  cat >./test_files/invalid_permission <missing 
 mini error = ( No such file or directory)
 bash error = ( Permission denied)
-Test 108: ❌ cat >./outfiles/outfile01 <missing >./test_files/invalid_permission
+Test 108: ❌ cat >./outfiles/outfile01 <missing >./test_files/invalid_permission 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
 bash outfiles:
-Test 109: ✅ ls >>./outfiles/outfile01
-Test 110: ✅ ls >>      ./outfiles/outfile01
-Test 111: ✅ ls >>./outfiles/outfile01 >./outfiles/outfile01
-Test 112: ✅ ls >./outfiles/outfile01 >>./outfiles/outfile01
-Test 113: ❌ ls >./outfiles/outfile01 >>./outfiles/outfile01 >./outfiles/outfile02
+Test 109: ✅ ls >>./outfiles/outfile01 
+Test 110: ✅ ls >>      ./outfiles/outfile01 
+Test 111: ✅ ls >>./outfiles/outfile01 >./outfiles/outfile01 
+Test 112: ✅ ls >./outfiles/outfile01 >>./outfiles/outfile01 
+Test 113: ❌ ls >./outfiles/outfile01 >>./outfiles/outfile01 >./outfiles/outfile02 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 README.md
@@ -949,7 +949,7 @@ syntax
 test_files
 tester
 wildcards
-Test 114: ❌ ls >>./outfiles/outfile01 >>./outfiles/outfile02
+Test 114: ❌ ls >>./outfiles/outfile01 >>./outfiles/outfile02 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 README.md
@@ -991,8 +991,8 @@ syntax
 test_files
 tester
 wildcards
-Test 115: ✅ ls >>./test_files/invalid_permission
-Test 116: ❌ ls >>./test_files/invalid_permission >>./outfiles/outfile01
+Test 115: ✅ ls >>./test_files/invalid_permission 
+Test 116: ❌ ls >>./test_files/invalid_permission >>./outfiles/outfile01 
 Only in ./mini_outfiles: outfile01
 mini outfiles:
 README.md
@@ -1020,12 +1020,12 @@ mini exit code = 0
 bash exit code = 1
 mini error = ()
 bash error = ( Permission denied)
-Test 117: ❌ ls >>./outfiles/outfile01 >>./test_files/invalid_permission
+Test 117: ❌ ls >>./outfiles/outfile01 >>./test_files/invalid_permission 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
 bash outfiles:
-Test 118: ❌ ls >./outfiles/outfile01 >>./test_files/invalid_permission >>./outfiles/outfile02
+Test 118: ❌ ls >./outfiles/outfile01 >>./test_files/invalid_permission >>./outfiles/outfile02 
 Only in ./bash_outfiles: outfile01
 Only in ./mini_outfiles: outfile02
 mini outfiles:
@@ -1053,27 +1053,27 @@ mini exit code = 0
 bash exit code = 1
 mini error = ()
 bash error = ( Permission denied)
-Test 119: ✅ ls <missing >>./test_files/invalid_permission >>./outfiles/outfile02
-Test 120: ✅⚠️  ls >>./test_files/invalid_permission >>./outfiles/outfile02 <missing
+Test 119: ✅ ls <missing >>./test_files/invalid_permission >>./outfiles/outfile02 
+Test 120: ✅⚠️  ls >>./test_files/invalid_permission >>./outfiles/outfile02 <missing 
 mini error = ( No such file or directory)
 bash error = ( Permission denied)
-Test 121: ✅ echo hi >>./outfiles/outfile01 | echo bye
-Test 122: ❌ echo hi >>./outfiles/outfile01 >>./outfiles/outfile02 | echo bye
+Test 121: ✅ echo hi >>./outfiles/outfile01 | echo bye 
+Test 122: ❌ echo hi >>./outfiles/outfile01 >>./outfiles/outfile02 | echo bye 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 hi
 bash outfiles:
 hi
-Test 123: ✅ echo hi | echo >>./outfiles/outfile01 bye
-Test 124: ❌ echo hi | echo bye >>./outfiles/outfile01 >>./outfiles/outfile02
+Test 123: ✅ echo hi | echo >>./outfiles/outfile01 bye 
+Test 124: ❌ echo hi | echo bye >>./outfiles/outfile01 >>./outfiles/outfile02 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 bye
 bash outfiles:
 bye
-Test 125: ✅ echo hi >>./outfiles/outfile01 | echo bye >>./outfiles/outfile02
-Test 126: ✅ echo hi >>./test_files/invalid_permission | echo bye
-Test 127: ❌ echo hi >>./test_files/invalid_permission >./outfiles/outfile01 | echo bye
+Test 125: ✅ echo hi >>./outfiles/outfile01 | echo bye >>./outfiles/outfile02 
+Test 126: ✅ echo hi >>./test_files/invalid_permission | echo bye 
+Test 127: ❌ echo hi >>./test_files/invalid_permission >./outfiles/outfile01 | echo bye 
 Only in ./mini_outfiles: outfile01
 mini outfiles:
 hi
@@ -1081,149 +1081,103 @@ bash outfiles:
 cat: ./bash_outfiles/*: No such file or directory
 mini error = ()
 bash error = ( Permission denied)
-Test 128: ✅ echo hi | echo bye >>./test_files/invalid_permission
-Test 129: ❌ echo hi | echo >>./outfiles/outfile01 bye >./test_files/invalid_permission
+Test 128: ✅ echo hi | echo bye >>./test_files/invalid_permission 
+Test 129: ❌ echo hi | echo >>./outfiles/outfile01 bye >./test_files/invalid_permission 
 Only in ./bash_outfiles: outfile01
 mini outfiles:
 cat: ./mini_outfiles/*: No such file or directory
 bash outfiles:
-Test 130: ✅ cat <minishell.h>./outfiles/outfile
-Test 131: ✅ cat <minishell.h|ls
+Test 130: ✅ cat <minishell.h>./outfiles/outfile 
+Test 131: ✅ cat <minishell.h|ls 
 ———————————— extras
-Test 132: ❌
-mini exit code =
-bash exit code = 0
+Test 132: ✅  
 
-
-Test 133: ❌ $PWD
+udpate this
+Test 133: ❌ $PWD 
 mini exit code = 1
 bash exit code = 126
 mini error = ( Permission denied)
 bash error = ( is a directory)
-
-
-Test 134: ❌ $EMPTY
+Test 134: ❌ $EMPTY 
 mini exit code = 1
 bash exit code = 0
 mini error = ( Permission denied)
 bash error = ()
-
-Test 135: ❌ $EMPTY echo hi
+Test 135: ❌ $EMPTY echo hi 
 mini output = ()
 bash output = (hi)
 mini exit code = 1
 bash exit code = 0
 mini error = ( Permission denied)
 bash error = ()
-Test 136: ❌ ./test_files/invalid_permission
-mini output = (./test_files/invalid_permission: command not found)
+Test 136: ❌ ./test_files/invalid_permission 
+mini output = (command not found)
 bash output = ()
 mini exit code = 1
 bash exit code = 126
 mini error = ()
 bash error = ( Permission denied)
-Test 137: ❌ ./missing.out
-mini output = (./missing.out: command not found)
+Test 137: ❌ ./missing.out 
+mini output = (command not found)
 bash output = ()
 mini exit code = 1
 bash exit code = 127
 mini error = ()
 bash error = ( No such file or directory)
-
-
-Test 138: ❌ missing.out
-mini output = (missing.out: command not found)
+Test 138: ❌ missing.out 
+mini output = (command not found)
 bash output = ()
 mini exit code = 1
 bash exit code = 127
 mini error = ()
 bash error = ( command not found)
-
-
-Test 139: ❌ "aaa"
-mini output = (aaa: command not found)
+Test 139: ❌ "aaa" 
+mini output = (command not found)
 bash output = ()
 mini exit code = 1
 bash exit code = 127
 mini error = ()
 bash error = ( command not found)
-
-
-Test 140: ❌ test_files
-mini output = (test_files: command not found)
+Test 140: ❌ test_files 
+mini output = (command not found)
 bash output = ()
 mini exit code = 1
 bash exit code = 127
 mini error = ()
 bash error = ( command not found)
-Test 141: ❌ ./test_files
+Test 141: ❌ ./test_files 
 mini exit code = 1
 bash exit code = 126
 mini error = ( Permission denied)
 bash error = ( is a directory)
-
-
-Test 142: ❌ /test_files
+Test 142: ❌ /test_files 
 mini exit code = 1
 bash exit code = 127
-
-Test 143: ❌ minishell.h
-mini output = (minishell.h: command not found)
+Test 143: ❌ minishell.h 
+mini output = (command not found)
 bash output = ()
 mini exit code = 1
 bash exit code = 127
 mini error = ()
 bash error = ( command not found)
-Test 144: ❌ $
+Test 144: ❌ $ 
+mini output = (command not found)
+bash output = ()
 mini exit code = 1
 bash exit code = 127
 mini error = ()
 bash error = ( command not found)
-Test 145: ❌ $?
+Test 145: ❌ $? 
+mini output = (command not found)
+bash output = ()
 mini exit code = 1
 bash exit code = 127
-mini error = ( Permission denied)
+mini error = ()
 bash error = ( command not found)
-Test 146: ❌ README.md
-mini output = (README.md: command not found)
+Test 146: ❌ README.md 
+mini output = (command not found)
 bash output = ()
 mini exit code = 1
 bash exit code = 127
 mini error = ()
-bash error = ( command not found)
-74/146
-😭 😭 😭
-Collapse
-
-
-
-
-1
-
-
-
-
-
-
-
-
-
-
-
-
-Message dkaiser
-
-
-
-
-
-
-
-
-
-Shift + Return to add a new line
-
-
-
-
-Slack needs your permission to enable notifications. Enable notifications
\ No newline at end of file
+bash error = ( command not found)
\ No newline at end of file
diff --git a/lib/libft/_obj/ft_atoi.o b/lib/libft/_obj/ft_atoi.o
new file mode 100644 (file)
index 0000000..efcdc0d
Binary files /dev/null and b/lib/libft/_obj/ft_atoi.o differ
diff --git a/lib/libft/_obj/ft_atol.o b/lib/libft/_obj/ft_atol.o
new file mode 100644 (file)
index 0000000..3126061
Binary files /dev/null and b/lib/libft/_obj/ft_atol.o differ
diff --git a/lib/libft/_obj/ft_bzero.o b/lib/libft/_obj/ft_bzero.o
new file mode 100644 (file)
index 0000000..64ddf3a
Binary files /dev/null and b/lib/libft/_obj/ft_bzero.o differ
diff --git a/lib/libft/_obj/ft_calloc.o b/lib/libft/_obj/ft_calloc.o
new file mode 100644 (file)
index 0000000..39c2c05
Binary files /dev/null and b/lib/libft/_obj/ft_calloc.o differ
diff --git a/lib/libft/_obj/ft_isalnum.o b/lib/libft/_obj/ft_isalnum.o
new file mode 100644 (file)
index 0000000..3aecc58
Binary files /dev/null and b/lib/libft/_obj/ft_isalnum.o differ
diff --git a/lib/libft/_obj/ft_isalpha.o b/lib/libft/_obj/ft_isalpha.o
new file mode 100644 (file)
index 0000000..da20b01
Binary files /dev/null and b/lib/libft/_obj/ft_isalpha.o differ
diff --git a/lib/libft/_obj/ft_isascii.o b/lib/libft/_obj/ft_isascii.o
new file mode 100644 (file)
index 0000000..2262942
Binary files /dev/null and b/lib/libft/_obj/ft_isascii.o differ
diff --git a/lib/libft/_obj/ft_isdigit.o b/lib/libft/_obj/ft_isdigit.o
new file mode 100644 (file)
index 0000000..a0e0f40
Binary files /dev/null and b/lib/libft/_obj/ft_isdigit.o differ
diff --git a/lib/libft/_obj/ft_isprint.o b/lib/libft/_obj/ft_isprint.o
new file mode 100644 (file)
index 0000000..8cf5033
Binary files /dev/null and b/lib/libft/_obj/ft_isprint.o differ
diff --git a/lib/libft/_obj/ft_isspace.o b/lib/libft/_obj/ft_isspace.o
new file mode 100644 (file)
index 0000000..f6f10e8
Binary files /dev/null and b/lib/libft/_obj/ft_isspace.o differ
diff --git a/lib/libft/_obj/ft_itoa.o b/lib/libft/_obj/ft_itoa.o
new file mode 100644 (file)
index 0000000..447812f
Binary files /dev/null and b/lib/libft/_obj/ft_itoa.o differ
diff --git a/lib/libft/_obj/ft_lstadd_back_bonus.o b/lib/libft/_obj/ft_lstadd_back_bonus.o
new file mode 100644 (file)
index 0000000..566f7fc
Binary files /dev/null and b/lib/libft/_obj/ft_lstadd_back_bonus.o differ
diff --git a/lib/libft/_obj/ft_lstadd_front_bonus.o b/lib/libft/_obj/ft_lstadd_front_bonus.o
new file mode 100644 (file)
index 0000000..f456510
Binary files /dev/null and b/lib/libft/_obj/ft_lstadd_front_bonus.o differ
diff --git a/lib/libft/_obj/ft_lstclear_bonus.o b/lib/libft/_obj/ft_lstclear_bonus.o
new file mode 100644 (file)
index 0000000..cbf23d7
Binary files /dev/null and b/lib/libft/_obj/ft_lstclear_bonus.o differ
diff --git a/lib/libft/_obj/ft_lstdelone_bonus.o b/lib/libft/_obj/ft_lstdelone_bonus.o
new file mode 100644 (file)
index 0000000..c357699
Binary files /dev/null and b/lib/libft/_obj/ft_lstdelone_bonus.o differ
diff --git a/lib/libft/_obj/ft_lstiter_bonus.o b/lib/libft/_obj/ft_lstiter_bonus.o
new file mode 100644 (file)
index 0000000..139d20d
Binary files /dev/null and b/lib/libft/_obj/ft_lstiter_bonus.o differ
diff --git a/lib/libft/_obj/ft_lstlast_bonus.o b/lib/libft/_obj/ft_lstlast_bonus.o
new file mode 100644 (file)
index 0000000..0f262f1
Binary files /dev/null and b/lib/libft/_obj/ft_lstlast_bonus.o differ
diff --git a/lib/libft/_obj/ft_lstmap_bonus.o b/lib/libft/_obj/ft_lstmap_bonus.o
new file mode 100644 (file)
index 0000000..d4ed0b6
Binary files /dev/null and b/lib/libft/_obj/ft_lstmap_bonus.o differ
diff --git a/lib/libft/_obj/ft_lstnew_bonus.o b/lib/libft/_obj/ft_lstnew_bonus.o
new file mode 100644 (file)
index 0000000..98420b2
Binary files /dev/null and b/lib/libft/_obj/ft_lstnew_bonus.o differ
diff --git a/lib/libft/_obj/ft_lstsize_bonus.o b/lib/libft/_obj/ft_lstsize_bonus.o
new file mode 100644 (file)
index 0000000..1ce926d
Binary files /dev/null and b/lib/libft/_obj/ft_lstsize_bonus.o differ
diff --git a/lib/libft/_obj/ft_memchr.o b/lib/libft/_obj/ft_memchr.o
new file mode 100644 (file)
index 0000000..23efe3d
Binary files /dev/null and b/lib/libft/_obj/ft_memchr.o differ
diff --git a/lib/libft/_obj/ft_memcmp.o b/lib/libft/_obj/ft_memcmp.o
new file mode 100644 (file)
index 0000000..ca68348
Binary files /dev/null and b/lib/libft/_obj/ft_memcmp.o differ
diff --git a/lib/libft/_obj/ft_memcpy.o b/lib/libft/_obj/ft_memcpy.o
new file mode 100644 (file)
index 0000000..253e17e
Binary files /dev/null and b/lib/libft/_obj/ft_memcpy.o differ
diff --git a/lib/libft/_obj/ft_memmove.o b/lib/libft/_obj/ft_memmove.o
new file mode 100644 (file)
index 0000000..df18bef
Binary files /dev/null and b/lib/libft/_obj/ft_memmove.o differ
diff --git a/lib/libft/_obj/ft_memset.o b/lib/libft/_obj/ft_memset.o
new file mode 100644 (file)
index 0000000..be0b314
Binary files /dev/null and b/lib/libft/_obj/ft_memset.o differ
diff --git a/lib/libft/_obj/ft_printaddr.o b/lib/libft/_obj/ft_printaddr.o
new file mode 100644 (file)
index 0000000..64e9dea
Binary files /dev/null and b/lib/libft/_obj/ft_printaddr.o differ
diff --git a/lib/libft/_obj/ft_printf.o b/lib/libft/_obj/ft_printf.o
new file mode 100644 (file)
index 0000000..44aedad
Binary files /dev/null and b/lib/libft/_obj/ft_printf.o differ
diff --git a/lib/libft/_obj/ft_printhex.o b/lib/libft/_obj/ft_printhex.o
new file mode 100644 (file)
index 0000000..5ef814f
Binary files /dev/null and b/lib/libft/_obj/ft_printhex.o differ
diff --git a/lib/libft/_obj/ft_printnbr.o b/lib/libft/_obj/ft_printnbr.o
new file mode 100644 (file)
index 0000000..278895f
Binary files /dev/null and b/lib/libft/_obj/ft_printnbr.o differ
diff --git a/lib/libft/_obj/ft_putchar_fd.o b/lib/libft/_obj/ft_putchar_fd.o
new file mode 100644 (file)
index 0000000..e3a7ad2
Binary files /dev/null and b/lib/libft/_obj/ft_putchar_fd.o differ
diff --git a/lib/libft/_obj/ft_putendl_fd.o b/lib/libft/_obj/ft_putendl_fd.o
new file mode 100644 (file)
index 0000000..5ff74c8
Binary files /dev/null and b/lib/libft/_obj/ft_putendl_fd.o differ
diff --git a/lib/libft/_obj/ft_putnbr_fd.o b/lib/libft/_obj/ft_putnbr_fd.o
new file mode 100644 (file)
index 0000000..1de6482
Binary files /dev/null and b/lib/libft/_obj/ft_putnbr_fd.o differ
diff --git a/lib/libft/_obj/ft_putstr_fd.o b/lib/libft/_obj/ft_putstr_fd.o
new file mode 100644 (file)
index 0000000..bc970e3
Binary files /dev/null and b/lib/libft/_obj/ft_putstr_fd.o differ
diff --git a/lib/libft/_obj/ft_split.o b/lib/libft/_obj/ft_split.o
new file mode 100644 (file)
index 0000000..d5df61b
Binary files /dev/null and b/lib/libft/_obj/ft_split.o differ
diff --git a/lib/libft/_obj/ft_strcat.o b/lib/libft/_obj/ft_strcat.o
new file mode 100644 (file)
index 0000000..f749d90
Binary files /dev/null and b/lib/libft/_obj/ft_strcat.o differ
diff --git a/lib/libft/_obj/ft_strchr.o b/lib/libft/_obj/ft_strchr.o
new file mode 100644 (file)
index 0000000..fea0b41
Binary files /dev/null and b/lib/libft/_obj/ft_strchr.o differ
diff --git a/lib/libft/_obj/ft_strcmp.o b/lib/libft/_obj/ft_strcmp.o
new file mode 100644 (file)
index 0000000..5c7286b
Binary files /dev/null and b/lib/libft/_obj/ft_strcmp.o differ
diff --git a/lib/libft/_obj/ft_strcpy.o b/lib/libft/_obj/ft_strcpy.o
new file mode 100644 (file)
index 0000000..d556c8f
Binary files /dev/null and b/lib/libft/_obj/ft_strcpy.o differ
diff --git a/lib/libft/_obj/ft_strdup.o b/lib/libft/_obj/ft_strdup.o
new file mode 100644 (file)
index 0000000..e052b40
Binary files /dev/null and b/lib/libft/_obj/ft_strdup.o differ
diff --git a/lib/libft/_obj/ft_striteri.o b/lib/libft/_obj/ft_striteri.o
new file mode 100644 (file)
index 0000000..e8264a9
Binary files /dev/null and b/lib/libft/_obj/ft_striteri.o differ
diff --git a/lib/libft/_obj/ft_strjoin.o b/lib/libft/_obj/ft_strjoin.o
new file mode 100644 (file)
index 0000000..bb8a89e
Binary files /dev/null and b/lib/libft/_obj/ft_strjoin.o differ
diff --git a/lib/libft/_obj/ft_strlcat.o b/lib/libft/_obj/ft_strlcat.o
new file mode 100644 (file)
index 0000000..e7aff81
Binary files /dev/null and b/lib/libft/_obj/ft_strlcat.o differ
diff --git a/lib/libft/_obj/ft_strlcpy.o b/lib/libft/_obj/ft_strlcpy.o
new file mode 100644 (file)
index 0000000..695a120
Binary files /dev/null and b/lib/libft/_obj/ft_strlcpy.o differ
diff --git a/lib/libft/_obj/ft_strlen.o b/lib/libft/_obj/ft_strlen.o
new file mode 100644 (file)
index 0000000..2c66545
Binary files /dev/null and b/lib/libft/_obj/ft_strlen.o differ
diff --git a/lib/libft/_obj/ft_strmapi.o b/lib/libft/_obj/ft_strmapi.o
new file mode 100644 (file)
index 0000000..345a34a
Binary files /dev/null and b/lib/libft/_obj/ft_strmapi.o differ
diff --git a/lib/libft/_obj/ft_strncmp.o b/lib/libft/_obj/ft_strncmp.o
new file mode 100644 (file)
index 0000000..683c861
Binary files /dev/null and b/lib/libft/_obj/ft_strncmp.o differ
diff --git a/lib/libft/_obj/ft_strncpy.o b/lib/libft/_obj/ft_strncpy.o
new file mode 100644 (file)
index 0000000..5585d29
Binary files /dev/null and b/lib/libft/_obj/ft_strncpy.o differ
diff --git a/lib/libft/_obj/ft_strnstr.o b/lib/libft/_obj/ft_strnstr.o
new file mode 100644 (file)
index 0000000..4f42fd4
Binary files /dev/null and b/lib/libft/_obj/ft_strnstr.o differ
diff --git a/lib/libft/_obj/ft_strrchr.o b/lib/libft/_obj/ft_strrchr.o
new file mode 100644 (file)
index 0000000..c6b2a16
Binary files /dev/null and b/lib/libft/_obj/ft_strrchr.o differ
diff --git a/lib/libft/_obj/ft_strtrim.o b/lib/libft/_obj/ft_strtrim.o
new file mode 100644 (file)
index 0000000..b4ac15c
Binary files /dev/null and b/lib/libft/_obj/ft_strtrim.o differ
diff --git a/lib/libft/_obj/ft_substr.o b/lib/libft/_obj/ft_substr.o
new file mode 100644 (file)
index 0000000..eebbca7
Binary files /dev/null and b/lib/libft/_obj/ft_substr.o differ
diff --git a/lib/libft/_obj/ft_tolower.o b/lib/libft/_obj/ft_tolower.o
new file mode 100644 (file)
index 0000000..940856f
Binary files /dev/null and b/lib/libft/_obj/ft_tolower.o differ
diff --git a/lib/libft/_obj/ft_toupper.o b/lib/libft/_obj/ft_toupper.o
new file mode 100644 (file)
index 0000000..137ae03
Binary files /dev/null and b/lib/libft/_obj/ft_toupper.o differ
diff --git a/lib/libft/_obj/get_next_line.o b/lib/libft/_obj/get_next_line.o
new file mode 100644 (file)
index 0000000..d5cbdc5
Binary files /dev/null and b/lib/libft/_obj/get_next_line.o differ
diff --git a/lib/libft/_obj/get_next_line_utils.o b/lib/libft/_obj/get_next_line_utils.o
new file mode 100644 (file)
index 0000000..0eecbe7
Binary files /dev/null and b/lib/libft/_obj/get_next_line_utils.o differ
diff --git a/lib/libft/libft.a b/lib/libft/libft.a
new file mode 100644 (file)
index 0000000..cec79c2
Binary files /dev/null and b/lib/libft/libft.a differ
diff --git a/minishell b/minishell
new file mode 100755 (executable)
index 0000000..75d5573
Binary files /dev/null and b/minishell differ
index 9f501570fda1214f115490009bfe4905ec0c0a6e..f3bcfc0b6279076b0a09e07136d7dc31acbf9f2a 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/08/09 17:01:16 by chuhlig           #+#    #+#             */
-/*   Updated: 2025/01/14 16:51:05 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/14 19:51:59 by chuhlig          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -129,13 +129,15 @@ int       export(char **av, t_env **env)
                        }
                        current->value = ft_strdup(tmp + 1);
                }
+               else
+                       return (1);
        }
        return (0);
 }
 
 void set_return_code(int return_code, t_env **env)
 {
-       t_env *cur;
+       t_env   *cur;
 
        cur = check_existing(*env, "?");
        if (cur)
index 5af6c686c18408c0a7c2ed0198c1c44422c08ca6..05d6943ce7c6a7cca7422894c2a37cbdd1d90847 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/10/25 20:52:16 by chuhlig           #+#    #+#             */
-/*   Updated: 2025/01/14 14:26:39 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/14 19:31:17 by chuhlig          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -101,6 +101,11 @@ int        ft_env(t_env *env)
 {
        while (env != NULL)
        {
+               if (strchr(env->name, '?'))
+               {
+                       env = env->next;
+                       continue ;
+               }
                printf("%s", env->name);
                printf("=%s\n", env->value);
                env = env->next;
index 40aaf9ddcb61dfaaa84dd459142c4787de4b97c1..a1ab7cc29548676127fbe6e8f7074605a17b4b43 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/12/17 19:22:28 by chuhlig           #+#    #+#             */
-/*   Updated: 2025/01/14 14:10:49 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/14 19:34:10 by chuhlig          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -29,7 +29,7 @@ char  **env_to_strlst(t_env *env)
                if (ft_strchr(cur->name, '?'))
                {
                        cur = cur->next;
-                       continue;
+                       continue ;
                }
                size++;
                cur = cur->next;
@@ -42,7 +42,7 @@ char  **env_to_strlst(t_env *env)
        while (i < size)
        {
                if (ft_strchr(cur->name, '?'))
-                cur = cur->next;
+                       cur = cur->next;
                result[i] = get_var_assign(cur);
                cur = cur->next;
                i++;
index b9faf714da87b535c0cde71c60ccdda8a65047f1..525f333b3e2aa122da2f2355ba8d4465559d680a 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/12/17 19:21:35 by chuhlig           #+#    #+#             */
-/*   Updated: 2025/01/14 16:56:24 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/14 19:55:18 by chuhlig          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -85,7 +85,7 @@ int   execute_cmd(t_cmd *cmd, t_env **env)
                cmd_path = get_cmd_path(cmd->args[0], *env);
                if (!cmd_path)
                {
-                       printf("command not found\n");
+                       perror("command not found");
                        exit(EXIT_FAILURE);
                }
                execve(cmd_path, cmd->args, env_to_strlst(*env));
index af1eb825924e9302074d287bb7d5a3ac7999fb57..a1d382358b035b353880b64dbb8f6861e48644b4 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/12/17 19:15:49 by chuhlig           #+#    #+#             */
-/*   Updated: 2025/01/14 16:59:45 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/14 19:52:27 by chuhlig          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -22,7 +22,7 @@ int   handle_redirections(t_redirection *redirs)
                fd = open(redirs[0].specifier, O_RDONLY);
                if (fd < 0)
                {
-                       perror(redirs[0].specifier);
+                       perror("open");
                        return (-1);
                }
                dup2(fd, STDIN_FILENO);
index 8cebdd1464e50174579ad7997854e1752bc1b6b9..a2aad220addeaff318281b20cc1288f40c33cd32 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/06/22 17:14:03 by dkaiser           #+#    #+#             */
-/*   Updated: 2025/01/14 15:29:20 by chuhlig          ###   ########.fr       */
+/*   Updated: 2025/01/14 18:41:15 by chuhlig          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -24,8 +24,7 @@ int   main(int argc, char *argv[], char *envp[])
        if (init())
                return (1);
        getenvlst(&env, envp);
-
-  set_return_code(0, &env);
+       set_return_code(0, &env);
        repl("Minishell $ ", &env, &promptflag);
        free_envlst(&env);
        return (0);