Yoshiki-Iwasa / minishell

0 stars 0 forks source link

openに失敗した際のエラーメッセージ相違 #65

Closed hiroin closed 4 years ago

hiroin commented 4 years ago

事案 openに失敗した際のエラーメッセージ相違

事案詳細 change_fd.c の int change_stdin_fd(char arg, int fd) の *fd = open(arg, O_RDWR); に失敗した場合、errno が適切に設定されるので、strerrorのエラーメッセージを表示する必要がある。 例えば、openの原因が権限がない場合は、 Permission denied と表示する必要があるが、minishellは No such file or directory と表示される。 ※実は他のところも、「No such file or directory」等ハードコーディングしていますが、実はstrerror(errno)で表示できる気がいたします。

C言語関数辞典(strerror) http://www.c-tipsref.com/reference/string/strerror.html

再現手順 [bash]

minishell$ touch test.txt
minishell$ chmod 000 test.txt
minishell$ cat < test.txt
bash: test.txt: Permission denied

[minishell]

minishell$ touch test.txt
minishell$ chmod 000 test.txt
minishell$ cat < test.txt
bash: test.txt: No such file or directory
Yoshiki-Iwasa commented 4 years ago

issue #66 と一緒に解消しました

hiroin commented 4 years ago

修正を確認しました。