From: Lukas Jiriste Date: Fri, 23 Aug 2024 14:41:51 +0000 (+0200) Subject: Fix return codes of cd, add error message to cd X-Git-Url: https://git.ljiriste.work/?a=commitdiff_plain;h=f657567d7f7ba338a0cba0d01ad96ef28deeb417;p=42%2Fminishell.git Fix return codes of cd, add error message to cd --- diff --git a/src/builtins/cd.c b/src/builtins/cd.c index 3d6c35f..31979b6 100644 --- a/src/builtins/cd.c +++ b/src/builtins/cd.c @@ -6,7 +6,7 @@ /* By: ljiriste +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/08/02 16:37:48 by ljiriste #+# #+# */ -/* Updated: 2024/08/02 18:37:45 by ljiriste ### ########.fr */ +/* Updated: 2024/08/23 16:54:38 by ljiriste ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,7 +24,10 @@ int chdir_wrapper(const char *path, t_execution_env *env) if (!path || path[0] == '\0') return (0); if (chdir(path)) - return (3); + { + ft_dprintf(STDERR_FILENO, "cd: %s: No such file or directory\n", path); + return (1); + } cwd = getcwd(NULL, 0); if (!cwd) return (1); @@ -32,7 +35,7 @@ int chdir_wrapper(const char *path, t_execution_env *env) { chdir(get_env_var_value(env, "PWD")); free(cwd); - return (2); + return (1); } free(cwd); return (0); @@ -44,5 +47,6 @@ int cd(int argc, char **argv, t_execution_env *env) return (chdir_wrapper("~", env)); if (argc == 2) return (chdir_wrapper(argv[1], env)); + ft_putstr_fd("cd: too many arguments\n", STDERR_FILENO); return (1); }