From 1352a826b11148a23633504c9d3c246aeaacb1f7 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Sun, 11 Oct 2020 21:11:57 +0200 Subject: Fixing empty cd segfault --- libft | 2 +- minishell_test | 2 +- src/builtin/cd.c | 11 +++++------ 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/libft b/libft index 39951f0..c333433 160000 --- a/libft +++ b/libft @@ -1 +1 @@ -Subproject commit 39951f08a2938683d800c677c3a244e9ff8dbe19 +Subproject commit c33343322ef66d96337533082313b1256862023a diff --git a/minishell_test b/minishell_test index fb0a727..a36a27b 160000 --- a/minishell_test +++ b/minishell_test @@ -1 +1 @@ -Subproject commit fb0a727a9885b80b855f470ae6d5c1bfac614439 +Subproject commit a36a27b8ca85adf57b2a9926a53e74e3a3863d3d diff --git a/src/builtin/cd.c b/src/builtin/cd.c index a350cf4..b566272 100644 --- a/src/builtin/cd.c +++ b/src/builtin/cd.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 17:10:20 by charles #+# #+# */ -/* Updated: 2020/10/09 12:44:55 by cacharle ### ########.fr */ +/* Updated: 2020/10/11 21:11:40 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -37,13 +37,12 @@ int builtin_cd(char **argv, t_env env) if (argv[1] != NULL && argv[1][0] == '\0') return (env_export(env, "OLDPWD", oldwd) == NULL ? EVAL_FATAL : 0); if (argv[1] == NULL) - { if ((home = env_search(env, "HOME", NULL)) == NULL) return (errorf_ret(1, "cd: HOME not set\n")); - argv[1] = home; - } - if (chdir(argv[1]) == -1) - return (errorf_ret(1, "cd: %s: %s\n", argv[1], strerror(errno))); + else + home = argv[1]; + if (chdir(home) == -1) + return (errorf_ret(1, "cd: %s: %s\n", home, strerror(errno))); if (env_export(env, "OLDPWD", oldwd) == NULL) return (EVAL_FATAL); if (getcwd(cwd, PATH_MAX) == NULL) -- cgit