From 1c768561c0d3e61786ec35ef82e1a8e754e98a4d Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Tue, 30 Dec 2003 13:38:32 -0500
Subject: [PATCH] BUG: CollapseFullPath was calling SplitProgramPath before
 changing the working directory to in_base.

---
 SystemTools.cxx | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/SystemTools.cxx b/SystemTools.cxx
index 2b16d93..2ae2465 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -1318,9 +1318,6 @@ kwsys_stl::string SystemTools::CollapseFullPath(const char* in_relative)
 kwsys_stl::string SystemTools::CollapseFullPath(const char* in_relative,
                                             const char* in_base)
 {
-  kwsys_stl::string dir, file;
-  SystemTools::SplitProgramPath(in_relative, dir, file, false);
-  
   // Save original working directory.
   kwsys_stl::string orig = SystemTools::GetCurrentWorkingDirectory();
   
@@ -1330,6 +1327,9 @@ kwsys_stl::string SystemTools::CollapseFullPath(const char* in_relative,
     Chdir(in_base);
     }
   
+  kwsys_stl::string dir, file;
+  SystemTools::SplitProgramPath(in_relative, dir, file, false);
+  
 #ifdef _WIN32
   // Follow relative path.
   if(!(dir == ""))
-- 
GitLab