Переглянути джерело

Add XML escaping for directory name in Eclipse projects (#11658)

Alex
Alex Neundorf 14 роки тому
батько
коміт
79e13af195
1 змінених файлів з 4 додано та 2 видалено
  1. 4 2
      Source/cmExtraEclipseCDT4Generator.cxx

+ 4 - 2
Source/cmExtraEclipseCDT4Generator.cxx

@@ -431,7 +431,8 @@ void cmExtraEclipseCDT4Generator::AppendIncludeDirectories(
         {
         {
         emittedDirs.insert(dir);
         emittedDirs.insert(dir);
         fout << "<pathentry include=\""
         fout << "<pathentry include=\""
-             << cmExtraEclipseCDT4Generator::GetEclipsePath(dir)
+             << cmExtraEclipseCDT4Generator::EscapeForXML(
+                              cmExtraEclipseCDT4Generator::GetEclipsePath(dir))
              << "\" kind=\"inc\" path=\"\" system=\"true\"/>\n";
              << "\" kind=\"inc\" path=\"\" system=\"true\"/>\n";
         }
         }
       }
       }
@@ -1002,9 +1003,10 @@ void cmExtraEclipseCDT4Generator::AppendTarget(cmGeneratedFileStream& fout,
                                                const char* prefix)
                                                const char* prefix)
 {
 {
   std::string targetXml = cmExtraEclipseCDT4Generator::EscapeForXML(target);
   std::string targetXml = cmExtraEclipseCDT4Generator::EscapeForXML(target);
+  std::string pathXml = cmExtraEclipseCDT4Generator::EscapeForXML(path);
   fout <<
   fout <<
     "<target name=\"" << prefix << targetXml << "\""
     "<target name=\"" << prefix << targetXml << "\""
-    " path=\"" << path.c_str() << "\""
+    " path=\"" << pathXml.c_str() << "\""
     " targetID=\"org.eclipse.cdt.make.MakeTargetBuilder\">\n"
     " targetID=\"org.eclipse.cdt.make.MakeTargetBuilder\">\n"
     "<buildCommand>"
     "<buildCommand>"
     << cmExtraEclipseCDT4Generator::GetEclipsePath(make)
     << cmExtraEclipseCDT4Generator::GetEclipsePath(make)