From 8d7027fb973df28119cf27c001cca735d7b26144 Mon Sep 17 00:00:00 2001 From: Trent Huber Date: Mon, 24 Nov 2025 00:14:27 -0500 Subject: [PATCH] pwd builtin works when current directory changes name --- src/builtins/pwd.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/builtins/pwd.c b/src/builtins/pwd.c index 6c5b9db..2195382 100644 --- a/src/builtins/pwd.c +++ b/src/builtins/pwd.c @@ -13,19 +13,17 @@ int pwd(char **args, size_t numargs) { if (numargs != 1) return usage(args[0], NULL); - if (!(cwd = getenv("PWD"))) { - if (!(cwd = getcwd(buffer, PATH_MAX))) { - note("Unable to get current working directory"); - return EXIT_FAILURE; - } - if (buffer[(l = strlen(buffer)) - 1] != '/') { - buffer[l++] = '/'; - buffer[l] = '\0'; - } - if (setenv("PWD", buffer, 1) == -1) { - note("Unable to set $PWD$"); - return EXIT_FAILURE; - } + if (!(cwd = getcwd(buffer, PATH_MAX))) { + note("Unable to get current working directory"); + return EXIT_FAILURE; + } + if (buffer[(l = strlen(buffer)) - 1] != '/') { + buffer[l++] = '/'; + buffer[l] = '\0'; + } + if (setenv("PWD", buffer, 1) == -1) { + note("Unable to set $PWD$"); + return EXIT_FAILURE; } puts(cwd); -- 2.51.0