From 251758fbc30b7a61d2070efa15db822867409f27 Mon Sep 17 00:00:00 2001 From: n-a-c-h <> Date: Sun, 10 Jul 2005 01:53:13 +0000 Subject: [PATCH] Made parse_dir() return to current directory when done. --- zsnes/src/tools/fileutil.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/zsnes/src/tools/fileutil.cpp b/zsnes/src/tools/fileutil.cpp index 99095c0d..8b7e09e8 100644 --- a/zsnes/src/tools/fileutil.cpp +++ b/zsnes/src/tools/fileutil.cpp @@ -28,7 +28,9 @@ This is part of a toolkit used to assist in ZSNES development bool parse_dir(const char *dir_loc, void (*func)(const char *, struct stat&)) { - if (!chdir(dir_loc)) //chdir() returns 0 on success + char cwd[16384]; + + if (getcwd(cwd, sizeof(cwd)) && !chdir(dir_loc)) //chdir() returns 0 on success { DIR *curDir = opendir("."); dirent *curFile; @@ -47,16 +49,14 @@ bool parse_dir(const char *dir_loc, void (*func)(const char *, struct stat&)) //Directory if (S_ISDIR(stat_buffer.st_mode)) { - if (parse_dir(filename, func)) - { - chdir(".."); - } + parse_dir(filename, func); continue; } func(filename, stat_buffer); } closedir(curDir); + chdir(cwd); return(true); } return(false);