From fdc18469fd156198ba16884f80203b48e77eacae Mon Sep 17 00:00:00 2001
From: Anonymus Raccoon
Date: Sun, 24 May 2020 22:32:20 +0200
Subject: [PATCH] Making cd exit on errors when no window is here
---
src/builtin/builtin_manager.c | 5 +++--
tests/tester/tests | 10 ----------
2 files changed, 3 insertions(+), 12 deletions(-)
diff --git a/src/builtin/builtin_manager.c b/src/builtin/builtin_manager.c
index 7ec053f..98bc8e3 100644
--- a/src/builtin/builtin_manager.c
+++ b/src/builtin/builtin_manager.c
@@ -47,9 +47,9 @@ int builtin_cd(char **argv, env_t *env)
char *old = getcwd(NULL, 0);
if (get_argc(argv) > 2) {
- write(2, "cd: Too many arguments.\n", 25);
+ dprintf(2, "cd: Too many arguments.\n");
env->vars = my_setenv(env->vars, "?", "1");
- return (0);
+ return (-1 * !env->window);
}
env->vars = my_setenv(env->vars, "?", "0");
if (!argv[1])
@@ -59,6 +59,7 @@ int builtin_cd(char **argv, env_t *env)
if (chdir(path) < 0) {
printf("%s: %s.\n", path, strerror(errno));
env->vars = my_setenv(env->vars, "?", "1");
+ return (-1 * !env->window);
} else
env->env = my_setenv(env->env, "OLDPWD", old);
free(old);
diff --git a/tests/tester/tests b/tests/tester/tests
index d7f5d86..bda695b 100644
--- a/tests/tester/tests
+++ b/tests/tester/tests
@@ -289,16 +289,6 @@ TESTS=
echo 'echo "$"'
[928-END]
-[929]
-NAME="929"
-SETUP=""
-CLEAN=""
-TESTS=
- echo 'echo "\t"'
- echo 'echo $'
- echo 'echo $?'
-[929-END]
-
[930]
NAME="930"
SETUP=""