diff options
Diffstat (limited to 'Source/kwsys/SystemTools.cxx')
-rw-r--r-- | Source/kwsys/SystemTools.cxx | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx index 5c81ae4..de00019 100644 --- a/Source/kwsys/SystemTools.cxx +++ b/Source/kwsys/SystemTools.cxx @@ -2112,13 +2112,22 @@ kwsys_stl::string SystemTools { path.push_back(*i); } + // Add a trailing slash to all paths to aid the search process. + for(kwsys_stl::vector<kwsys_stl::string>::iterator i = path.begin(); + i != path.end(); ++i) + { + kwsys_stl::string& p = *i; + if(p[p.size()-1] != '/') + { + p += "/"; + } + } // now look for the file kwsys_stl::string tryPath; for(kwsys_stl::vector<kwsys_stl::string>::const_iterator p = path.begin(); p != path.end(); ++p) { tryPath = *p; - tryPath += "/"; tryPath += name; if(SystemTools::FileExists(tryPath.c_str())) { @@ -2235,6 +2244,16 @@ kwsys_stl::string SystemTools::FindProgram( { path.push_back(*i); } + // Add a trailing slash to all paths to aid the search process. + for(kwsys_stl::vector<kwsys_stl::string>::iterator i = path.begin(); + i != path.end(); ++i) + { + kwsys_stl::string& p = *i; + if(p[p.size()-1] != '/') + { + p += "/"; + } + } // Try each path for(kwsys_stl::vector<kwsys_stl::string>::iterator p = path.begin(); p != path.end(); ++p) @@ -2250,7 +2269,6 @@ kwsys_stl::string SystemTools::FindProgram( = extensions.begin(); ext != extensions.end(); ++ext) { tryPath = *p; - tryPath += "/"; tryPath += name; tryPath += *ext; if(SystemTools::FileExists(tryPath.c_str()) && @@ -2262,7 +2280,6 @@ kwsys_stl::string SystemTools::FindProgram( } // now try it without them tryPath = *p; - tryPath += "/"; tryPath += name; if(SystemTools::FileExists(tryPath.c_str()) && !SystemTools::FileIsDirectory(tryPath.c_str())) @@ -2319,13 +2336,22 @@ kwsys_stl::string SystemTools { path.push_back(*i); } + // Add a trailing slash to all paths to aid the search process. + for(kwsys_stl::vector<kwsys_stl::string>::iterator i = path.begin(); + i != path.end(); ++i) + { + kwsys_stl::string& p = *i; + if(p[p.size()-1] != '/') + { + p += "/"; + } + } kwsys_stl::string tryPath; for(kwsys_stl::vector<kwsys_stl::string>::const_iterator p = path.begin(); p != path.end(); ++p) { #if defined(__APPLE__) tryPath = *p; - tryPath += "/"; tryPath += name; tryPath += ".framework"; if(SystemTools::FileExists(tryPath.c_str()) @@ -2336,7 +2362,6 @@ kwsys_stl::string SystemTools #endif #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__MINGW32__) tryPath = *p; - tryPath += "/"; tryPath += name; tryPath += ".lib"; if(SystemTools::FileExists(tryPath.c_str()) @@ -2346,7 +2371,7 @@ kwsys_stl::string SystemTools } #else tryPath = *p; - tryPath += "/lib"; + tryPath += "lib"; tryPath += name; tryPath += ".so"; if(SystemTools::FileExists(tryPath.c_str()) @@ -2355,7 +2380,7 @@ kwsys_stl::string SystemTools return SystemTools::CollapseFullPath(tryPath.c_str()); } tryPath = *p; - tryPath += "/lib"; + tryPath += "lib"; tryPath += name; tryPath += ".a"; if(SystemTools::FileExists(tryPath.c_str()) @@ -2364,7 +2389,7 @@ kwsys_stl::string SystemTools return SystemTools::CollapseFullPath(tryPath.c_str()); } tryPath = *p; - tryPath += "/lib"; + tryPath += "lib"; tryPath += name; tryPath += ".sl"; if(SystemTools::FileExists(tryPath.c_str()) @@ -2373,7 +2398,7 @@ kwsys_stl::string SystemTools return SystemTools::CollapseFullPath(tryPath.c_str()); } tryPath = *p; - tryPath += "/lib"; + tryPath += "lib"; tryPath += name; tryPath += ".dylib"; if(SystemTools::FileExists(tryPath.c_str()) @@ -2382,7 +2407,7 @@ kwsys_stl::string SystemTools return SystemTools::CollapseFullPath(tryPath.c_str()); } tryPath = *p; - tryPath += "/lib"; + tryPath += "lib"; tryPath += name; tryPath += ".dll"; if(SystemTools::FileExists(tryPath.c_str()) |