tkomatsu / minishell

my own shell like bash
MIT License
3 stars 0 forks source link

fix(ft_exit.c): fix bug; when parameter of exit is `-` or `+` no erro… #124

Closed kefujiwa closed 3 years ago

kefujiwa commented 3 years ago

上記対応しました!ご確認お願いします!

tkomatsu commented 3 years ago

@kefujiwa

bash-5.1$ exit ----21
exit
bash: exit: ----21: numeric argument required
bash-5.1$ echo $?
2
bash-5.1$ ./minishell
minishell$ exit ----21
exit
minish: exit: ----21: numeric argument required
bash-5.1$ echo $?
255

EX_OUTRANGEではなくEX_EBUILTINではないでしょうか?

kefujiwa commented 3 years ago

@tkomatsu これってバージョンの違いなのでしょうか、、?

bash-3.2$ exit ----21
exit
bash: exit: ----21: numeric argument required
bash-3.2$ echo $?
255
bash-3.2$ ./minishell
minishell$ exit ----21
exit
minish: exit: ----21: numeric argument required
bash-3.2$ echo $?
255
bash-3.2$
tkomatsu commented 3 years ago

@kefujiwa ほんまや bashとしか言われてないからどっちでも良さそうだね

kefujiwa commented 3 years ago

確かにEX_EBUILTINの方がエラー内容と合致してるから最新のbashでは修正されているのか 違うか、最新だとlongの最大値を越えたときと数字じゃなかった時で終了ステータスを明確に分けている、、?

tkomatsu commented 3 years ago

@kefujiwa

bash-3.2$ exit '    '
exit
bash: exit:     : numeric argument required
kefujiwa commented 3 years ago

修正します! exit "" この対応しかできてなかったのか、、

kefujiwa commented 3 years ago

@tkomatsu 修正したので確認お願いします!

tkomatsu commented 3 years ago

@kefujiwa exit関連のバグだったのでここで指摘しておきます。

minishell$ exit ; echo $?
exit
0
minishell$

セミコロンで繋ぐとexitできないようになっていますね

kefujiwa commented 3 years ago

@tkomatsu return で返すのやめるか、、

tkomatsu commented 3 years ago

上記はセミコロンのwhileの条件を追加したら治る!

tkomatsu commented 3 years ago

@kefujiwa fix_exitブランチに上記に対する修正をpushしました!

kefujiwa commented 3 years ago

なるほど!!

tkomatsu commented 3 years ago

mergeしました