Browse Source

ENH: fix case problem with drive letters and cmake vs CMakeSetup build.make changing

Bill Hoffman 18 years ago
parent
commit
80de27ace5
1 changed files with 10 additions and 0 deletions
  1. 10 0
      Source/kwsys/SystemTools.cxx

+ 10 - 0
Source/kwsys/SystemTools.cxx

@@ -154,6 +154,11 @@ inline const char* Getcwd(char* buf, unsigned int len)
     fprintf(stderr, "No current working directory.\n");
     abort();
     }
+  // make sure the drive letter is capital
+  if(strlen(buf) > 1 && buf[1] == ':')
+    {
+    buf[0] = toupper(buf[0]);
+    }
   return ret;
 }
 inline int Chdir(const char* dir)
@@ -2875,6 +2880,11 @@ kwsys_stl::string SystemTools::GetActualCaseForPath(const char* p)
     {
     return p;
     }
+  // make sure drive letter is always upper case
+  if(longPath.size() > 1 && longPath[1] == ':')
+    {
+    longPath[0] = toupper(longPath[0]);
+    }
   return longPath;
 #endif  
 }