From 3875d9e65223107ecc5ee8ce7f6510e092779da9 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 15 Jun 2000 22:14:14 +0000 Subject: * path.cc (chdir): Don't set cache to offending chdir. Change comment to reflect current reality. --- winsup/cygwin/path.cc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'winsup/cygwin/path.cc') diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index a74aa0829..4952d4608 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -2467,15 +2467,17 @@ chdir (const char *dir) int res = SetCurrentDirectoryA (native_dir) ? 0 : -1; if (res == -1) __seterrno (); + else + { + /* Store new cache information */ + free (cwd_win32); + cwd_win32 = strdup (path);; - /* Clear the cache until we need to retrieve the directory again. */ - free (cwd_win32); - cwd_win32 = strdup (path);; - - char pathbuf[MAX_PATH]; - (void) normalize_posix_path (cwd_posix, dir, pathbuf); - free (cwd_posix); - cwd_posix = strdup (pathbuf); + char pathbuf[MAX_PATH]; + (void) normalize_posix_path (cwd_posix, dir, pathbuf); + free (cwd_posix); + cwd_posix = strdup (pathbuf); + } syscall_printf ("%d = chdir (%s )", res, cwd_posix, cwd_win32); return res; -- cgit v1.2.3