Просмотр исходного кода

FIX: a / was appended without checking if there wasn't one already.

Sebastien Barre 23 лет назад
Родитель
Сommit
b8548c1db3
1 измененных файлов с 12 добавлено и 3 удалено
  1. 12 3
      Source/cmMakeDepend.cxx

+ 12 - 3
Source/cmMakeDepend.cxx

@@ -159,7 +159,10 @@ void cmMakeDepend::GenerateDependInformation(cmDependInformation* info)
             t != m_IncludeDirectories.end(); ++t)
           {
           std::string incpath = *t;
-          incpath = incpath + "/";
+          if (incpath.size() && incpath[incpath.size() - 1] != '/')
+            {
+            incpath = incpath + "/";
+            }
           incpath = incpath + path;
           if (srcFile->GetFullPath() == incpath)
             {
@@ -302,7 +305,10 @@ std::string cmMakeDepend::FullPath(const char* fname, const char *extraPath)
       i != m_IncludeDirectories.end(); ++i)
     {
     std::string path = *i;
-    path = path + "/";
+    if (path.size() && path[path.size() - 1] != '/')
+      {
+      path = path + "/";
+      }
     path = path + fname;
     if(cmSystemTools::FileExists(path.c_str()))
       {
@@ -313,7 +319,10 @@ std::string cmMakeDepend::FullPath(const char* fname, const char *extraPath)
   if (extraPath)
     {
     std::string path = extraPath;
-    path = path + "/";
+    if (path.size() && path[path.size() - 1] != '/')
+      {
+      path = path + "/";
+      }
     path = path + fname;
     if(cmSystemTools::FileExists(path.c_str()))
       {