[PATCH 2/7] builtin-help: change the current directory back in list_commands_in_dir()
- From
Miklos Vajna <vmiklos@frugalware.org>
- Date
- Jul 26, 2008, 11:54 UTC
- Message-ID
- <4f2b03391e3f85cf2224f97a2a7765d08707bd73.1217037178.git.vmiklos@frugalware.org>
- In-Reply-To
- <1217073292-27945-1-git-send-email-vmiklos@frugalware.org>
That function used to do a chdir() without switching back to the original directory. That was not a problem till this function was used only inside builtin-help, but once other builtins use it as well, this is a problem, for example when the object database path is relative.
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> --- help.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/help.c b/help.c index fb93df0..d71937e 100644 --- a/help.c +++ b/help.c @@ -425,7 +425,9 @@ static unsigned int list_commands_in_dir(struct cmdnames *cmds, int prefix_len; DIR *dir = opendir(path); struct dirent *de; + static char old_path[PATH_MAX+1]; + getcwd(old_path, sizeof(old_path)); if (!dir || chdir(path)) return 0; @@ -452,6 +454,7 @@ static unsigned int list_commands_in_dir(struct cmdnames *cmds, } closedir(dir); + chdir(old_path); return longest; }
-- 1.6.0.rc0.14.g95f8.dirty