From: Trent Huber Date: Mon, 24 Nov 2025 05:14:27 +0000 (-0500) Subject: pwd builtin works when current directory changes name X-Git-Url: https://trenthuber.com/code?a=commitdiff_plain;h=8d7027fb973df28119cf27c001cca735d7b26144;p=thus.git pwd builtin works when current directory changes name --- 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);