Explorar o código

stringapi: Miscellaneous char* parameters

Ben Boeckel %!s(int64=12) %!d(string=hai) anos
pai
achega
b3bf31a548
Modificáronse 49 ficheiros con 173 adicións e 175 borrados
  1. 5 7
      Source/CPack/WiX/cmWIXPatchParser.cxx
  2. 2 2
      Source/CPack/WiX/cmWIXPatchParser.h
  3. 3 2
      Source/CPack/cmCPackComponentGroup.cxx
  4. 2 2
      Source/CPack/cmCPackComponentGroup.h
  5. 1 1
      Source/CPack/cmCPackGenerator.cxx
  6. 1 1
      Source/CPack/cmCPackGenerator.h
  7. 1 1
      Source/CPack/cmCPackOSXX11Generator.cxx
  8. 1 1
      Source/CPack/cmCPackOSXX11Generator.h
  9. 8 7
      Source/CPack/cmCPackPackageMakerGenerator.cxx
  10. 4 4
      Source/CPack/cmCPackPackageMakerGenerator.h
  11. 18 18
      Source/CTest/cmCTestBZR.cxx
  12. 2 2
      Source/CTest/cmCTestBuildCommand.cxx
  13. 11 11
      Source/CTest/cmCTestHG.cxx
  14. 6 12
      Source/CTest/cmCTestMemCheckHandler.cxx
  15. 9 9
      Source/CTest/cmCTestSVN.cxx
  16. 7 7
      Source/CTest/cmCTestSubmitHandler.cxx
  17. 4 4
      Source/CTest/cmParsePythonCoverage.cxx
  18. 1 1
      Source/CursesDialog/cmCursesOptionsWidget.cxx
  19. 1 1
      Source/CursesDialog/cmCursesOptionsWidget.h
  20. 1 1
      Source/CursesDialog/cmCursesStringWidget.cxx
  21. 1 1
      Source/CursesDialog/cmCursesStringWidget.h
  22. 2 2
      Source/CursesDialog/cmCursesWidget.cxx
  23. 1 1
      Source/CursesDialog/cmCursesWidget.h
  24. 2 2
      Source/cmCacheManager.cxx
  25. 1 1
      Source/cmCacheManager.h
  26. 1 1
      Source/cmExportFileGenerator.h
  27. 5 4
      Source/cmGlobalGenerator.cxx
  28. 4 4
      Source/cmGlobalGenerator.h
  29. 2 2
      Source/cmGlobalVisualStudio6Generator.cxx
  30. 2 2
      Source/cmGlobalVisualStudio6Generator.h
  31. 3 3
      Source/cmGlobalVisualStudio7Generator.cxx
  32. 3 3
      Source/cmGlobalVisualStudio7Generator.h
  33. 7 7
      Source/cmGlobalXCodeGenerator.cxx
  34. 2 2
      Source/cmGlobalXCodeGenerator.h
  35. 1 1
      Source/cmLocalUnixMakefileGenerator3.cxx
  36. 6 4
      Source/cmLocalUnixMakefileGenerator3.h
  37. 4 4
      Source/cmLocalVisualStudio10Generator.cxx
  38. 1 1
      Source/cmLocalVisualStudio10Generator.h
  39. 4 4
      Source/cmLocalVisualStudio7Generator.cxx
  40. 2 2
      Source/cmLocalVisualStudio7Generator.h
  41. 2 2
      Source/cmLocalVisualStudioGenerator.cxx
  42. 1 1
      Source/cmLocalVisualStudioGenerator.h
  43. 2 1
      Source/cmTarget.cxx
  44. 1 1
      Source/cmTarget.h
  45. 10 10
      Source/cmVisualStudioWCEPlatformParser.cxx
  46. 2 2
      Source/cmVisualStudioWCEPlatformParser.h
  47. 9 9
      Source/cmXCodeObject.h
  48. 2 2
      Source/cmXMLParser.cxx
  49. 2 2
      Source/cmXMLParser.h

+ 5 - 7
Source/CPack/WiX/cmWIXPatchParser.cxx

@@ -34,12 +34,11 @@ cmWIXPatchParser::cmWIXPatchParser(
 
 
 }
 }
 
 
-void cmWIXPatchParser::StartElement(const char *name, const char **atts)
+void cmWIXPatchParser::StartElement(const std::string& name, const char **atts)
 {
 {
-  std::string name_str = name;
   if(State == BEGIN_DOCUMENT)
   if(State == BEGIN_DOCUMENT)
     {
     {
-    if(name_str == "CPackWiXPatch")
+    if(name == "CPackWiXPatch")
       {
       {
       State = BEGIN_FRAGMENTS;
       State = BEGIN_FRAGMENTS;
       }
       }
@@ -50,7 +49,7 @@ void cmWIXPatchParser::StartElement(const char *name, const char **atts)
     }
     }
   else if(State == BEGIN_FRAGMENTS)
   else if(State == BEGIN_FRAGMENTS)
     {
     {
-      if(name_str == "CPackWiXFragment")
+      if(name == "CPackWiXFragment")
         {
         {
         State = INSIDE_FRAGMENT;
         State = INSIDE_FRAGMENT;
         StartFragment(atts);
         StartFragment(atts);
@@ -107,12 +106,11 @@ void cmWIXPatchParser::StartFragment(const char **attributes)
     }
     }
 }
 }
 
 
-void cmWIXPatchParser::EndElement(const char *name)
+void cmWIXPatchParser::EndElement(const std::string& name)
 {
 {
-  std::string name_str = name;
   if(State == INSIDE_FRAGMENT)
   if(State == INSIDE_FRAGMENT)
     {
     {
-      if(name_str == "CPackWiXFragment")
+      if(name == "CPackWiXFragment")
         {
         {
         State = BEGIN_FRAGMENTS;
         State = BEGIN_FRAGMENTS;
         ElementStack.clear();
         ElementStack.clear();

+ 2 - 2
Source/CPack/WiX/cmWIXPatchParser.h

@@ -43,11 +43,11 @@ public:
   cmWIXPatchParser(fragment_map_t& Fragments, cmCPackLog* logger);
   cmWIXPatchParser(fragment_map_t& Fragments, cmCPackLog* logger);
 
 
 private:
 private:
-  virtual void StartElement(const char *name, const char **atts);
+  virtual void StartElement(const std::string& name, const char **atts);
 
 
   void StartFragment(const char **attributes);
   void StartFragment(const char **attributes);
 
 
-  virtual void EndElement(const char *name);
+  virtual void EndElement(const std::string& name);
   virtual void ReportError(int line, int column, const char* msg);
   virtual void ReportError(int line, int column, const char* msg);
 
 
   void ReportValidationError(std::string const& message);
   void ReportValidationError(std::string const& message);

+ 3 - 2
Source/CPack/cmCPackComponentGroup.cxx

@@ -16,7 +16,8 @@
 #include <string>
 #include <string>
 
 
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
-unsigned long cmCPackComponent::GetInstalledSize(const char* installDir) const
+unsigned long cmCPackComponent::GetInstalledSize(
+    const std::string& installDir) const
 {
 {
   if (this->TotalSize != 0)
   if (this->TotalSize != 0)
     {
     {
@@ -37,7 +38,7 @@ unsigned long cmCPackComponent::GetInstalledSize(const char* installDir) const
 
 
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 unsigned long
 unsigned long
-cmCPackComponent::GetInstalledSizeInKbytes(const char* installDir) const
+cmCPackComponent::GetInstalledSizeInKbytes(const std::string& installDir) const
 {
 {
   unsigned long result = (GetInstalledSize(installDir) + 512) / 1024;
   unsigned long result = (GetInstalledSize(installDir) + 512) / 1024;
   return result? result : 1;
   return result? result : 1;

+ 2 - 2
Source/CPack/cmCPackComponentGroup.h

@@ -94,11 +94,11 @@ public:
   /// Get the total installed size of all of the files in this
   /// Get the total installed size of all of the files in this
   /// component, in bytes. installDir is the directory into which the
   /// component, in bytes. installDir is the directory into which the
   /// component was installed.
   /// component was installed.
-  unsigned long GetInstalledSize(const char* installDir) const;
+  unsigned long GetInstalledSize(const std::string& installDir) const;
 
 
   /// Identical to GetInstalledSize, but returns the result in
   /// Identical to GetInstalledSize, but returns the result in
   /// kilobytes.
   /// kilobytes.
-  unsigned long GetInstalledSizeInKbytes(const char* installDir) const;
+  unsigned long GetInstalledSizeInKbytes(const std::string& installDir) const;
 
 
  private:
  private:
   mutable unsigned long TotalSize;
   mutable unsigned long TotalSize;

+ 1 - 1
Source/CPack/cmCPackGenerator.cxx

@@ -1139,7 +1139,7 @@ int cmCPackGenerator::DoPackage()
 }
 }
 
 
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
-int cmCPackGenerator::Initialize(const char* name, cmMakefile* mf)
+int cmCPackGenerator::Initialize(const std::string& name, cmMakefile* mf)
 {
 {
   this->MakefileMap = mf;
   this->MakefileMap = mf;
   this->Name = name;
   this->Name = name;

+ 1 - 1
Source/CPack/cmCPackGenerator.h

@@ -90,7 +90,7 @@ public:
   /**
   /**
    * Initialize generator
    * Initialize generator
    */
    */
-  int Initialize(const char* name, cmMakefile* mf);
+  int Initialize(const std::string& name, cmMakefile* mf);
 
 
   /**
   /**
    * Construct generator
    * Construct generator

+ 1 - 1
Source/CPack/cmCPackOSXX11Generator.cxx

@@ -272,7 +272,7 @@ bool cmCPackOSXX11Generator::CopyCreateResourceFile(const std::string& name)
 
 
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 bool cmCPackOSXX11Generator::CopyResourcePlistFile(const std::string& name,
 bool cmCPackOSXX11Generator::CopyResourcePlistFile(const std::string& name,
-  const char* dir, const char* outputFileName /* = 0 */,
+  const std::string& dir, const char* outputFileName /* = 0 */,
   bool copyOnly /* = false */)
   bool copyOnly /* = false */)
 {
 {
   std::string inFName = "CPack.";
   std::string inFName = "CPack.";

+ 1 - 1
Source/CPack/cmCPackOSXX11Generator.h

@@ -39,7 +39,7 @@ protected:
 
 
   //bool CopyCreateResourceFile(const std::string& name,
   //bool CopyCreateResourceFile(const std::string& name,
   //                            const std::string& dir);
   //                            const std::string& dir);
-  bool CopyResourcePlistFile(const std::string& name, const char* dir,
+  bool CopyResourcePlistFile(const std::string& name, const std::string& dir,
     const char* outputFileName = 0, bool copyOnly = false);
     const char* outputFileName = 0, bool copyOnly = false);
   std::string InstallPrefix;
   std::string InstallPrefix;
 };
 };

+ 8 - 7
Source/CPack/cmCPackPackageMakerGenerator.cxx

@@ -43,14 +43,14 @@ bool cmCPackPackageMakerGenerator::SupportsComponentInstallation() const
 }
 }
 
 
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
-int cmCPackPackageMakerGenerator::CopyInstallScript(const char* resdir,
-                                                    const char* script,
-                                                    const char* name)
+int cmCPackPackageMakerGenerator::CopyInstallScript(const std::string& resdir,
+                                                    const std::string& script,
+                                                    const std::string& name)
 {
 {
   std::string dst = resdir;
   std::string dst = resdir;
   dst += "/";
   dst += "/";
   dst += name;
   dst += name;
-  cmSystemTools::CopyFileAlways(script, dst.c_str());
+  cmSystemTools::CopyFileAlways(script.c_str(), dst.c_str());
   cmSystemTools::SetPermissions(dst.c_str(),0777);
   cmSystemTools::SetPermissions(dst.c_str(),0777);
   cmCPackLogger(cmCPackLog::LOG_VERBOSE,
   cmCPackLogger(cmCPackLog::LOG_VERBOSE,
                 "copy script : " << script << "\ninto " << dst.c_str() <<
                 "copy script : " << script << "\ninto " << dst.c_str() <<
@@ -601,12 +601,13 @@ bool cmCPackPackageMakerGenerator::CopyCreateResourceFile(
   return true;
   return true;
 }
 }
 
 
-bool cmCPackPackageMakerGenerator::CopyResourcePlistFile(const char* name,
-                                                         const char* outName)
+bool cmCPackPackageMakerGenerator::CopyResourcePlistFile(
+                                                const std::string& name,
+                                                const char* outName)
 {
 {
   if (!outName)
   if (!outName)
     {
     {
-    outName = name;
+    outName = name.c_str();
     }
     }
 
 
   std::string inFName = "CPack.";
   std::string inFName = "CPack.";

+ 4 - 4
Source/CPack/cmCPackPackageMakerGenerator.h

@@ -38,9 +38,9 @@ public:
   virtual bool SupportsComponentInstallation() const;
   virtual bool SupportsComponentInstallation() const;
 
 
 protected:
 protected:
-  int CopyInstallScript(const char* resdir,
-                        const char* script,
-                        const char* name);
+  int CopyInstallScript(const std::string& resdir,
+                        const std::string& script,
+                        const std::string& name);
   virtual int InitializeInternal();
   virtual int InitializeInternal();
   int PackageFiles();
   int PackageFiles();
   virtual const char* GetOutputExtension() { return ".dmg"; }
   virtual const char* GetOutputExtension() { return ".dmg"; }
@@ -53,7 +53,7 @@ protected:
   // which will be configured via ConfigureFile.
   // which will be configured via ConfigureFile.
   bool CopyCreateResourceFile(const std::string& name,
   bool CopyCreateResourceFile(const std::string& name,
                               const std::string& dirName);
                               const std::string& dirName);
-  bool CopyResourcePlistFile(const char* name, const char* outName = 0);
+  bool CopyResourcePlistFile(const std::string& name, const char* outName = 0);
 
 
   // Run PackageMaker with the given command line, which will (if
   // Run PackageMaker with the given command line, which will (if
   // successful) produce the given package file. Returns true if
   // successful) produce the given package file. Returns true if

+ 18 - 18
Source/CTest/cmCTestBZR.cxx

@@ -225,35 +225,35 @@ private:
     return true;
     return true;
     }
     }
 
 
-  virtual void StartElement(const char* name, const char**)
+  virtual void StartElement(const std::string& name, const char**)
     {
     {
     this->CData.clear();
     this->CData.clear();
-    if(strcmp(name, "log") == 0)
+    if(name == "log")
       {
       {
       this->Rev = Revision();
       this->Rev = Revision();
       this->Changes.clear();
       this->Changes.clear();
       }
       }
     // affected-files can contain blocks of
     // affected-files can contain blocks of
     // modified, unknown, renamed, kind-changed, removed, conflicts, added
     // modified, unknown, renamed, kind-changed, removed, conflicts, added
-    else if(strcmp(name, "modified") == 0
-            || strcmp(name, "renamed") == 0
-            || strcmp(name, "kind-changed") == 0)
+    else if(name == "modified"
+            || name == "renamed"
+            || name == "kind-changed")
       {
       {
       this->CurChange = Change();
       this->CurChange = Change();
       this->CurChange.Action = 'M';
       this->CurChange.Action = 'M';
       }
       }
-    else if(strcmp(name, "added") == 0)
+    else if(name == "added")
       {
       {
       this->CurChange = Change();
       this->CurChange = Change();
       this->CurChange = 'A';
       this->CurChange = 'A';
       }
       }
-    else if(strcmp(name, "removed") == 0)
+    else if(name == "removed")
       {
       {
       this->CurChange = Change();
       this->CurChange = Change();
       this->CurChange = 'D';
       this->CurChange = 'D';
       }
       }
-    else if(strcmp(name, "unknown") == 0
-            || strcmp(name, "conflicts") == 0)
+    else if(name == "unknown"
+            || name == "conflicts")
       {
       {
       // Should not happen here
       // Should not happen here
       this->CurChange = Change();
       this->CurChange = Change();
@@ -265,27 +265,27 @@ private:
     this->CData.insert(this->CData.end(), data, data+length);
     this->CData.insert(this->CData.end(), data, data+length);
     }
     }
 
 
-  virtual void EndElement(const char* name)
+  virtual void EndElement(const std::string& name)
     {
     {
-    if(strcmp(name, "log") == 0)
+    if(name == "log")
       {
       {
       this->BZR->DoRevision(this->Rev, this->Changes);
       this->BZR->DoRevision(this->Rev, this->Changes);
       }
       }
-    else if((strcmp(name, "file") == 0 || strcmp(name, "directory") == 0)
-            && !this->CData.empty())
+    else if(!this->CData.empty() &&
+            (name == "file" || name == "directory"))
       {
       {
       this->CurChange.Path.assign(&this->CData[0], this->CData.size());
       this->CurChange.Path.assign(&this->CData[0], this->CData.size());
       cmSystemTools::ConvertToUnixSlashes(this->CurChange.Path);
       cmSystemTools::ConvertToUnixSlashes(this->CurChange.Path);
       this->Changes.push_back(this->CurChange);
       this->Changes.push_back(this->CurChange);
       }
       }
-    else if(strcmp(name, "symlink") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "symlink")
       {
       {
       // symlinks have an arobase at the end in the log
       // symlinks have an arobase at the end in the log
       this->CurChange.Path.assign(&this->CData[0], this->CData.size()-1);
       this->CurChange.Path.assign(&this->CData[0], this->CData.size()-1);
       cmSystemTools::ConvertToUnixSlashes(this->CurChange.Path);
       cmSystemTools::ConvertToUnixSlashes(this->CurChange.Path);
       this->Changes.push_back(this->CurChange);
       this->Changes.push_back(this->CurChange);
       }
       }
-    else if(strcmp(name, "committer") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "committer")
       {
       {
       this->Rev.Author.assign(&this->CData[0], this->CData.size());
       this->Rev.Author.assign(&this->CData[0], this->CData.size());
       if(this->EmailRegex.find(this->Rev.Author))
       if(this->EmailRegex.find(this->Rev.Author))
@@ -294,15 +294,15 @@ private:
         this->Rev.EMail = this->EmailRegex.match(2);
         this->Rev.EMail = this->EmailRegex.match(2);
         }
         }
       }
       }
-    else if(strcmp(name, "timestamp") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "timestamp")
       {
       {
       this->Rev.Date.assign(&this->CData[0], this->CData.size());
       this->Rev.Date.assign(&this->CData[0], this->CData.size());
       }
       }
-    else if(strcmp(name, "message") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "message")
       {
       {
       this->Rev.Log.assign(&this->CData[0], this->CData.size());
       this->Rev.Log.assign(&this->CData[0], this->CData.size());
       }
       }
-    else if(strcmp(name, "revno") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "revno")
       {
       {
       this->Rev.Rev.assign(&this->CData[0], this->CData.size());
       this->Rev.Rev.assign(&this->CData[0], this->CData.size());
       }
       }

+ 2 - 2
Source/CTest/cmCTestBuildCommand.cxx

@@ -131,8 +131,8 @@ cmCTestGenericHandler* cmCTestBuildCommand::InitializeHandler()
       std::string buildCommand
       std::string buildCommand
         = this->GlobalGenerator->
         = this->GlobalGenerator->
         GenerateCMakeBuildCommand(cmakeBuildTarget ? cmakeBuildTarget : "",
         GenerateCMakeBuildCommand(cmakeBuildTarget ? cmakeBuildTarget : "",
-                                  cmakeBuildConfiguration,
-                                  cmakeBuildAdditionalFlags, true);
+          cmakeBuildConfiguration,
+          cmakeBuildAdditionalFlags ? cmakeBuildAdditionalFlags : "", true);
       cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
       cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
                  "SetMakeCommand:"
                  "SetMakeCommand:"
                  << buildCommand.c_str() << "\n");
                  << buildCommand.c_str() << "\n");

+ 11 - 11
Source/CTest/cmCTestHG.cxx

@@ -189,10 +189,10 @@ private:
     return true;
     return true;
     }
     }
 
 
-  virtual void StartElement(const char* name, const char** atts)
+  virtual void StartElement(const std::string& name, const char** atts)
     {
     {
     this->CData.clear();
     this->CData.clear();
-    if(strcmp(name, "logentry") == 0)
+    if(name == "logentry")
       {
       {
       this->Rev = Revision();
       this->Rev = Revision();
       if(const char* rev = this->FindAttribute(atts, "revision"))
       if(const char* rev = this->FindAttribute(atts, "revision"))
@@ -208,29 +208,29 @@ private:
     this->CData.insert(this->CData.end(), data, data+length);
     this->CData.insert(this->CData.end(), data, data+length);
     }
     }
 
 
-  virtual void EndElement(const char* name)
+  virtual void EndElement(const std::string& name)
     {
     {
-    if(strcmp(name, "logentry") == 0)
+    if(name == "logentry")
       {
       {
       this->HG->DoRevision(this->Rev, this->Changes);
       this->HG->DoRevision(this->Rev, this->Changes);
       }
       }
-    else if(strcmp(name, "author") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "author")
       {
       {
       this->Rev.Author.assign(&this->CData[0], this->CData.size());
       this->Rev.Author.assign(&this->CData[0], this->CData.size());
       }
       }
-    else if ( strcmp(name, "email") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "email")
       {
       {
       this->Rev.EMail.assign(&this->CData[0], this->CData.size());
       this->Rev.EMail.assign(&this->CData[0], this->CData.size());
       }
       }
-    else if(strcmp(name, "date") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "date")
       {
       {
       this->Rev.Date.assign(&this->CData[0], this->CData.size());
       this->Rev.Date.assign(&this->CData[0], this->CData.size());
       }
       }
-    else if(strcmp(name, "msg") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "msg")
       {
       {
       this->Rev.Log.assign(&this->CData[0], this->CData.size());
       this->Rev.Log.assign(&this->CData[0], this->CData.size());
       }
       }
-    else if(strcmp(name, "files") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "files")
       {
       {
       std::vector<std::string> paths = this->SplitCData();
       std::vector<std::string> paths = this->SplitCData();
       for(unsigned int i = 0; i < paths.size(); ++i)
       for(unsigned int i = 0; i < paths.size(); ++i)
@@ -242,7 +242,7 @@ private:
         this->Changes.push_back(this->CurChange);
         this->Changes.push_back(this->CurChange);
         }
         }
       }
       }
-    else if(strcmp(name, "file_adds") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "file_adds")
       {
       {
       std::string added_paths(this->CData.begin(), this->CData.end());
       std::string added_paths(this->CData.begin(), this->CData.end());
       for(unsigned int i = 0; i < this->Changes.size(); ++i)
       for(unsigned int i = 0; i < this->Changes.size(); ++i)
@@ -253,7 +253,7 @@ private:
           }
           }
         }
         }
       }
       }
-     else if(strcmp(name, "file_dels") == 0 && !this->CData.empty())
+     else if(!this->CData.empty() && name == "file_dels")
       {
       {
       std::string added_paths(this->CData.begin(), this->CData.end());
       std::string added_paths(this->CData.begin(), this->CData.end());
       for(unsigned int i = 0; i < this->Changes.size(); ++i)
       for(unsigned int i = 0; i < this->Changes.size(); ++i)

+ 6 - 12
Source/CTest/cmCTestMemCheckHandler.cxx

@@ -49,21 +49,15 @@ class cmBoundsCheckerParser : public cmXMLParser
 {
 {
 public:
 public:
   cmBoundsCheckerParser(cmCTest* c) { this->CTest = c;}
   cmBoundsCheckerParser(cmCTest* c) { this->CTest = c;}
-  void StartElement(const char* name, const char** atts)
+  void StartElement(const std::string& name, const char** atts)
     {
     {
-      if(strcmp(name, "MemoryLeak") == 0)
+      if(name == "MemoryLeak" ||
+         name == "ResourceLeak")
         {
         {
         this->Errors.push_back(cmCTestMemCheckHandler::MLK);
         this->Errors.push_back(cmCTestMemCheckHandler::MLK);
         }
         }
-      if(strcmp(name, "ResourceLeak") == 0)
-        {
-        this->Errors.push_back(cmCTestMemCheckHandler::MLK);
-        }
-      if(strcmp(name, "Error") == 0)
-        {
-        this->ParseError(atts);
-        }
-      if(strcmp(name, "Dangling Pointer") == 0)
+      else if(name == "Error" ||
+              name == "Dangling Pointer")
         {
         {
         this->ParseError(atts);
         this->ParseError(atts);
         }
         }
@@ -79,7 +73,7 @@ public:
       ostr << "\n";
       ostr << "\n";
       this->Log += ostr.str();
       this->Log += ostr.str();
     }
     }
-  void EndElement(const char* )
+  void EndElement(const std::string& )
     {
     {
     }
     }
 
 

+ 9 - 9
Source/CTest/cmCTestSVN.cxx

@@ -361,10 +361,10 @@ private:
     return true;
     return true;
     }
     }
 
 
-  virtual void StartElement(const char* name, const char** atts)
+  virtual void StartElement(const std::string& name, const char** atts)
     {
     {
     this->CData.clear();
     this->CData.clear();
-    if(strcmp(name, "logentry") == 0)
+    if(name == "logentry")
       {
       {
       this->Rev = Revision();
       this->Rev = Revision();
       this->Rev.SVNInfo = &SVNRepo;
       this->Rev.SVNInfo = &SVNRepo;
@@ -374,7 +374,7 @@ private:
         }
         }
       this->Changes.clear();
       this->Changes.clear();
       }
       }
-    else if(strcmp(name, "path") == 0)
+    else if(name == "path")
       {
       {
       this->CurChange = Change();
       this->CurChange = Change();
       if(const char* action = this->FindAttribute(atts, "action"))
       if(const char* action = this->FindAttribute(atts, "action"))
@@ -389,28 +389,28 @@ private:
     this->CData.insert(this->CData.end(), data, data+length);
     this->CData.insert(this->CData.end(), data, data+length);
     }
     }
 
 
-  virtual void EndElement(const char* name)
+  virtual void EndElement(const std::string& name)
     {
     {
-    if(strcmp(name, "logentry") == 0)
+    if(name == "logentry")
       {
       {
       this->SVN->DoRevisionSVN(this->Rev, this->Changes);
       this->SVN->DoRevisionSVN(this->Rev, this->Changes);
       }
       }
-    else if(strcmp(name, "path") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "path")
       {
       {
       std::string orig_path(&this->CData[0], this->CData.size());
       std::string orig_path(&this->CData[0], this->CData.size());
       std::string new_path = SVNRepo.BuildLocalPath( orig_path );
       std::string new_path = SVNRepo.BuildLocalPath( orig_path );
       this->CurChange.Path.assign(new_path);
       this->CurChange.Path.assign(new_path);
       this->Changes.push_back(this->CurChange);
       this->Changes.push_back(this->CurChange);
       }
       }
-    else if(strcmp(name, "author") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "author")
       {
       {
       this->Rev.Author.assign(&this->CData[0], this->CData.size());
       this->Rev.Author.assign(&this->CData[0], this->CData.size());
       }
       }
-    else if(strcmp(name, "date") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "date")
       {
       {
       this->Rev.Date.assign(&this->CData[0], this->CData.size());
       this->Rev.Date.assign(&this->CData[0], this->CData.size());
       }
       }
-    else if(strcmp(name, "msg") == 0 && !this->CData.empty())
+    else if(!this->CData.empty() && name == "msg")
       {
       {
       this->Rev.Log.assign(&this->CData[0], this->CData.size());
       this->Rev.Log.assign(&this->CData[0], this->CData.size());
       }
       }

+ 7 - 7
Source/CTest/cmCTestSubmitHandler.cxx

@@ -68,10 +68,10 @@ private:
     return val;
     return val;
     }
     }
 
 
-  virtual void StartElement(const char* name, const char** atts)
+  virtual void StartElement(const std::string& name, const char** atts)
     {
     {
     this->CurrentValue.clear();
     this->CurrentValue.clear();
-    if(strcmp(name, "cdash") == 0)
+    if(name == "cdash")
       {
       {
       this->CDashVersion = this->FindAttribute(atts, "version");
       this->CDashVersion = this->FindAttribute(atts, "version");
       }
       }
@@ -82,9 +82,9 @@ private:
     this->CurrentValue.insert(this->CurrentValue.end(), data, data+length);
     this->CurrentValue.insert(this->CurrentValue.end(), data, data+length);
     }
     }
 
 
-  virtual void EndElement(const char* name)
+  virtual void EndElement(const std::string& name)
     {
     {
-    if(strcmp(name, "status") == 0)
+    if(name == "status")
       {
       {
       std::string status = cmSystemTools::UpperCase(this->GetCurrentValue());
       std::string status = cmSystemTools::UpperCase(this->GetCurrentValue());
       if(status == "OK" || status == "SUCCESS")
       if(status == "OK" || status == "SUCCESS")
@@ -100,15 +100,15 @@ private:
         this->Status = STATUS_ERROR;
         this->Status = STATUS_ERROR;
         }
         }
       }
       }
-    else if(strcmp(name, "filename") == 0)
+    else if(name == "filename")
       {
       {
       this->Filename = this->GetCurrentValue();
       this->Filename = this->GetCurrentValue();
       }
       }
-    else if(strcmp(name, "md5") == 0)
+    else if(name == "md5")
       {
       {
       this->MD5 = this->GetCurrentValue();
       this->MD5 = this->GetCurrentValue();
       }
       }
-    else if(strcmp(name, "message") == 0)
+    else if(name == "message")
       {
       {
       this->Message = this->GetCurrentValue();
       this->Message = this->GetCurrentValue();
       }
       }

+ 4 - 4
Source/CTest/cmParsePythonCoverage.cxx

@@ -20,9 +20,9 @@ public:
 
 
 protected:
 protected:
 
 
-  virtual void StartElement(const char* name, const char** atts)
+  virtual void StartElement(const std::string& name, const char** atts)
   {
   {
-    if(strcmp(name, "class") == 0)
+    if(name == "class")
     {
     {
       int tagCount = 0;
       int tagCount = 0;
       while(true)
       while(true)
@@ -57,7 +57,7 @@ protected:
         ++tagCount;
         ++tagCount;
       }
       }
     }
     }
-    else if(strcmp(name, "line") == 0)
+    else if(name == "line")
     {
     {
       int tagCount = 0;
       int tagCount = 0;
       int curNumber = -1;
       int curNumber = -1;
@@ -85,7 +85,7 @@ protected:
     }
     }
   }
   }
 
 
-  virtual void EndElement(const char*) {}
+  virtual void EndElement(const std::string&) {}
 
 
 private:
 private:
 
 

+ 1 - 1
Source/CursesDialog/cmCursesOptionsWidget.cxx

@@ -89,7 +89,7 @@ void cmCursesOptionsWidget::PreviousOption()
   this->SetValue(this->Options[this->CurrentOption].c_str());
   this->SetValue(this->Options[this->CurrentOption].c_str());
 }
 }
 
 
-void cmCursesOptionsWidget::SetOption(const char* value)
+void cmCursesOptionsWidget::SetOption(const std::string& value)
 {
 {
   this->CurrentOption = 0; // default to 0 index
   this->CurrentOption = 0; // default to 0 index
   this->SetValue(value);
   this->SetValue(value);

+ 1 - 1
Source/CursesDialog/cmCursesOptionsWidget.h

@@ -25,7 +25,7 @@ public:
   // when this widget has focus. Returns true if the input was
   // when this widget has focus. Returns true if the input was
   // handled.
   // handled.
   virtual bool HandleInput(int& key, cmCursesMainForm* fm, WINDOW* w);
   virtual bool HandleInput(int& key, cmCursesMainForm* fm, WINDOW* w);
-  void SetOption(const char*);
+  void SetOption(const std::string&);
   void AddOption(std::string const &);
   void AddOption(std::string const &);
   void NextOption();
   void NextOption();
   void PreviousOption();
   void PreviousOption();

+ 1 - 1
Source/CursesDialog/cmCursesStringWidget.cxx

@@ -195,7 +195,7 @@ bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
   return true;
   return true;
 }
 }
 
 
-void cmCursesStringWidget::SetString(const char* value)
+void cmCursesStringWidget::SetString(const std::string& value)
 {
 {
   this->SetValue(value);
   this->SetValue(value);
 }
 }

+ 1 - 1
Source/CursesDialog/cmCursesStringWidget.h

@@ -37,7 +37,7 @@ public:
   /**
   /**
    * Set/Get the string.
    * Set/Get the string.
    */
    */
-  void SetString(const char* value);
+  void SetString(const std::string& value);
   const char* GetString();
   const char* GetString();
   virtual const char* GetValue();
   virtual const char* GetValue();
 
 

+ 2 - 2
Source/CursesDialog/cmCursesWidget.cxx

@@ -46,10 +46,10 @@ void cmCursesWidget::Move(int x, int y, bool isNewPage)
     }
     }
 }
 }
 
 
-void cmCursesWidget::SetValue(const char* value)
+void cmCursesWidget::SetValue(const std::string& value)
 {
 {
   this->Value = value;
   this->Value = value;
-  set_field_buffer(this->Field, 0, value);
+  set_field_buffer(this->Field, 0, value.c_str());
 }
 }
 
 
 const char* cmCursesWidget::GetValue()
 const char* cmCursesWidget::GetValue()

+ 1 - 1
Source/CursesDialog/cmCursesWidget.h

@@ -40,7 +40,7 @@ public:
    * Set/Get the value (setting the value also changes the contents
    * Set/Get the value (setting the value also changes the contents
    * of the field buffer).
    * of the field buffer).
    */
    */
-  virtual void SetValue(const char* value);
+  virtual void SetValue(const std::string& value);
   virtual const char* GetValue();
   virtual const char* GetValue();
 
 
   /**
   /**

+ 2 - 2
Source/cmCacheManager.cxx

@@ -94,7 +94,7 @@ bool cmCacheManager::LoadCache(const std::string& path,
   return this->LoadCache(path, internal, emptySet, emptySet);
   return this->LoadCache(path, internal, emptySet, emptySet);
 }
 }
 
 
-static bool ParseEntryWithoutType(const char* entry,
+static bool ParseEntryWithoutType(const std::string& entry,
                                   std::string& var,
                                   std::string& var,
                                   std::string& value)
                                   std::string& value)
 {
 {
@@ -132,7 +132,7 @@ static bool ParseEntryWithoutType(const char* entry,
   return flag;
   return flag;
 }
 }
 
 
-bool cmCacheManager::ParseEntry(const char* entry,
+bool cmCacheManager::ParseEntry(const std::string& entry,
                                 std::string& var,
                                 std::string& var,
                                 std::string& value,
                                 std::string& value,
                                 CacheEntryType& type)
                                 CacheEntryType& type)

+ 1 - 1
Source/cmCacheManager.h

@@ -136,7 +136,7 @@ public:
     return static_cast<int>(this->Cache.size()); }
     return static_cast<int>(this->Cache.size()); }
 
 
   ///! Break up a line like VAR:type="value" into var, type and value
   ///! Break up a line like VAR:type="value" into var, type and value
-  static bool ParseEntry(const char* entry,
+  static bool ParseEntry(const std::string& entry,
                          std::string& var,
                          std::string& var,
                          std::string& value,
                          std::string& value,
                          CacheEntryType& type);
                          CacheEntryType& type);

+ 1 - 1
Source/cmExportFileGenerator.h

@@ -50,7 +50,7 @@ public:
   const char *GetMainExportFileName() const;
   const char *GetMainExportFileName() const;
 
 
   /** Set the namespace in which to place exported target names.  */
   /** Set the namespace in which to place exported target names.  */
-  void SetNamespace(const char* ns) { this->Namespace = ns; }
+  void SetNamespace(const std::string& ns) { this->Namespace = ns; }
   std::string GetNamespace() const { return this->Namespace; }
   std::string GetNamespace() const { return this->Namespace; }
 
 
   void SetExportOld(bool exportOld) { this->ExportOld = exportOld; }
   void SetExportOld(bool exportOld) { this->ExportOld = exportOld; }

+ 5 - 4
Source/cmGlobalGenerator.cxx

@@ -1790,7 +1790,7 @@ int cmGlobalGenerator::Build(
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
 std::string cmGlobalGenerator::GenerateCMakeBuildCommand(
 std::string cmGlobalGenerator::GenerateCMakeBuildCommand(
   const std::string& target, const std::string& config,
   const std::string& target, const std::string& config,
-  const char* native,
+  const std::string& native,
   bool ignoreErrors)
   bool ignoreErrors)
 {
 {
   std::string makeCommand = cmSystemTools::GetCMakeCommand();
   std::string makeCommand = cmSystemTools::GetCMakeCommand();
@@ -1819,7 +1819,7 @@ std::string cmGlobalGenerator::GenerateCMakeBuildCommand(
       sep = " ";
       sep = " ";
       }
       }
     }
     }
-  if(native && *native)
+  if(!native.empty())
     {
     {
     makeCommand += sep;
     makeCommand += sep;
     makeCommand += native;
     makeCommand += native;
@@ -2528,9 +2528,10 @@ std::string cmGlobalGenerator::GetSharedLibFlagsForLanguage(
 }
 }
 
 
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
-void cmGlobalGenerator::AppendDirectoryForConfig(const char*,
+void cmGlobalGenerator::AppendDirectoryForConfig(const std::string&,
                                                  const std::string&,
                                                  const std::string&,
-                                                 const char*, std::string&)
+                                                 const std::string&,
+                                                 std::string&)
 {
 {
   // Subclasses that support multiple configurations should implement
   // Subclasses that support multiple configurations should implement
   // this method to append the subdirectory for the given build
   // this method to append the subdirectory for the given build

+ 4 - 4
Source/cmGlobalGenerator.h

@@ -138,7 +138,7 @@ public:
   /** Generate a "cmake --build" call for a given target and config.  */
   /** Generate a "cmake --build" call for a given target and config.  */
   std::string GenerateCMakeBuildCommand(const std::string& target,
   std::string GenerateCMakeBuildCommand(const std::string& target,
                                         const std::string& config,
                                         const std::string& config,
-                                        const char* native,
+                                        const std::string& native,
                                         bool ignoreErrors);
                                         bool ignoreErrors);
 
 
   ///! Set the CMake instance
   ///! Set the CMake instance
@@ -230,9 +230,9 @@ public:
   /** Append the subdirectory for the given configuration.  If anything is
   /** Append the subdirectory for the given configuration.  If anything is
       appended the given prefix and suffix will be appended around it, which
       appended the given prefix and suffix will be appended around it, which
       is useful for leading or trailing slashes.  */
       is useful for leading or trailing slashes.  */
-  virtual void AppendDirectoryForConfig(const char* prefix,
+  virtual void AppendDirectoryForConfig(const std::string& prefix,
                                         const std::string& config,
                                         const std::string& config,
-                                        const char* suffix,
+                                        const std::string& suffix,
                                         std::string& dir);
                                         std::string& dir);
 
 
   /** Get the manifest of all targets that will be built for each
   /** Get the manifest of all targets that will be built for each
@@ -292,7 +292,7 @@ public:
     return this->BinaryDirectories.insert(dir).second;
     return this->BinaryDirectories.insert(dir).second;
     }
     }
   /** Supported systems creates a GUID for the given name */
   /** Supported systems creates a GUID for the given name */
-  virtual void CreateGUID(const char*) {}
+  virtual void CreateGUID(const std::string&) {}
 
 
   /** Return true if the generated build tree may contain multiple builds.
   /** Return true if the generated build tree may contain multiple builds.
       i.e. "Can I build Debug and Release in the same tree?" */
       i.e. "Can I build Debug and Release in the same tree?" */

+ 2 - 2
Source/cmGlobalVisualStudio6Generator.cxx

@@ -418,9 +418,9 @@ void cmGlobalVisualStudio6Generator
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
 void
 void
 cmGlobalVisualStudio6Generator
 cmGlobalVisualStudio6Generator
-::AppendDirectoryForConfig(const char* prefix,
+::AppendDirectoryForConfig(const std::string& prefix,
                            const std::string& config,
                            const std::string& config,
-                           const char* suffix,
+                           const std::string& suffix,
                            std::string& dir)
                            std::string& dir)
 {
 {
   if(!config.empty())
   if(!config.empty())

+ 2 - 2
Source/cmGlobalVisualStudio6Generator.h

@@ -81,9 +81,9 @@ public:
                             std::vector<cmLocalGenerator*>& generators);
                             std::vector<cmLocalGenerator*>& generators);
 
 
   /** Append the subdirectory for the given configuration.  */
   /** Append the subdirectory for the given configuration.  */
-  virtual void AppendDirectoryForConfig(const char* prefix,
+  virtual void AppendDirectoryForConfig(const std::string& prefix,
                                         const std::string& config,
                                         const std::string& config,
-                                        const char* suffix,
+                                        const std::string& suffix,
                                         std::string& dir);
                                         std::string& dir);
 
 
   ///! What is the configurations directory variable called?
   ///! What is the configurations directory variable called?

+ 3 - 3
Source/cmGlobalVisualStudio7Generator.cxx

@@ -924,7 +924,7 @@ std::string cmGlobalVisualStudio7Generator::GetGUID(const std::string& name)
 }
 }
 
 
 
 
-void cmGlobalVisualStudio7Generator::CreateGUID(const char* name)
+void cmGlobalVisualStudio7Generator::CreateGUID(const std::string& name)
 {
 {
   std::string guidStoreName = name;
   std::string guidStoreName = name;
   guidStoreName += "_GUID_CMAKE";
   guidStoreName += "_GUID_CMAKE";
@@ -961,9 +961,9 @@ void cmGlobalVisualStudio7Generator
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
 void
 void
 cmGlobalVisualStudio7Generator
 cmGlobalVisualStudio7Generator
-::AppendDirectoryForConfig(const char* prefix,
+::AppendDirectoryForConfig(const std::string& prefix,
                            const std::string& config,
                            const std::string& config,
-                           const char* suffix,
+                           const std::string& suffix,
                            std::string& dir)
                            std::string& dir)
 {
 {
   if(!config.empty())
   if(!config.empty())

+ 3 - 3
Source/cmGlobalVisualStudio7Generator.h

@@ -89,13 +89,13 @@ public:
   std::vector<std::string> *GetConfigurations();
   std::vector<std::string> *GetConfigurations();
 
 
   ///! Create a GUID or get an existing one.
   ///! Create a GUID or get an existing one.
-  void CreateGUID(const char* name);
+  void CreateGUID(const std::string& name);
   std::string GetGUID(const std::string& name);
   std::string GetGUID(const std::string& name);
 
 
   /** Append the subdirectory for the given configuration.  */
   /** Append the subdirectory for the given configuration.  */
-  virtual void AppendDirectoryForConfig(const char* prefix,
+  virtual void AppendDirectoryForConfig(const std::string& prefix,
                                         const std::string& config,
                                         const std::string& config,
-                                        const char* suffix,
+                                        const std::string& suffix,
                                         std::string& dir);
                                         std::string& dir);
 
 
   ///! What is the configurations directory variable called?
   ///! What is the configurations directory variable called?

+ 7 - 7
Source/cmGlobalXCodeGenerator.cxx

@@ -34,17 +34,17 @@ class cmXcodeVersionParser : public cmXMLParser
 {
 {
 public:
 public:
   cmXcodeVersionParser(): Version("1.5") {}
   cmXcodeVersionParser(): Version("1.5") {}
-  void StartElement(const char* , const char** )
+  void StartElement(const std::string&, const char**)
     {
     {
       this->Data = "";
       this->Data = "";
     }
     }
-  void EndElement(const char* name)
+  void EndElement(const std::string& name)
     {
     {
-      if(strcmp(name, "key") == 0)
+      if(name == "key")
         {
         {
         this->Key = this->Data;
         this->Key = this->Data;
         }
         }
-      else if(strcmp(name, "string") == 0)
+      else if(name == "string")
         {
         {
         if(this->Key == "CFBundleShortVersionString")
         if(this->Key == "CFBundleShortVersionString")
           {
           {
@@ -1005,7 +1005,7 @@ cmGlobalXCodeGenerator::CreateXCodeTargets(cmLocalGenerator* gen,
         gtgt->GetTargetSourceFileFlags(*i);
         gtgt->GetTargetSourceFileFlags(*i);
 
 
       if(filetype &&
       if(filetype &&
-         strcmp(filetype->GetString(), "compiled.mach-o.objfile") == 0)
+         filetype->GetString() == "compiled.mach-o.objfile")
         {
         {
         externalObjFiles.push_back(xsf);
         externalObjFiles.push_back(xsf);
         }
         }
@@ -3771,9 +3771,9 @@ std::string cmGlobalXCodeGenerator::XCodeEscapePath(const char* p)
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
 void
 void
 cmGlobalXCodeGenerator
 cmGlobalXCodeGenerator
-::AppendDirectoryForConfig(const char* prefix,
+::AppendDirectoryForConfig(const std::string& prefix,
                            const std::string& config,
                            const std::string& config,
-                           const char* suffix,
+                           const std::string& suffix,
                            std::string& dir)
                            std::string& dir)
 {
 {
   if(this->XcodeVersion > 20)
   if(this->XcodeVersion > 20)

+ 2 - 2
Source/cmGlobalXCodeGenerator.h

@@ -72,9 +72,9 @@ public:
   virtual void Generate();
   virtual void Generate();
 
 
   /** Append the subdirectory for the given configuration.  */
   /** Append the subdirectory for the given configuration.  */
-  virtual void AppendDirectoryForConfig(const char* prefix,
+  virtual void AppendDirectoryForConfig(const std::string& prefix,
                                         const std::string& config,
                                         const std::string& config,
-                                        const char* suffix,
+                                        const std::string& suffix,
                                         std::string& dir);
                                         std::string& dir);
 
 
   ///! What is the configurations directory variable called?
   ///! What is the configurations directory variable called?

+ 1 - 1
Source/cmLocalUnixMakefileGenerator3.cxx

@@ -1299,7 +1299,7 @@ cmLocalUnixMakefileGenerator3::AppendEcho(std::vector<std::string>& commands,
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
 std::string
 std::string
 cmLocalUnixMakefileGenerator3
 cmLocalUnixMakefileGenerator3
-::CreateMakeVariable(const char* sin, const char* s2in)
+::CreateMakeVariable(const std::string& sin, const std::string& s2in)
 {
 {
   std::string s = sin;
   std::string s = sin;
   std::string s2 = s2in;
   std::string s2 = s2in;

+ 6 - 4
Source/cmLocalUnixMakefileGenerator3.h

@@ -75,7 +75,7 @@ public:
   /**
   /**
    * Set the flag used to keep the make program silent.
    * Set the flag used to keep the make program silent.
    */
    */
-  void SetMakeSilentFlag(const char* s) { this->MakeSilentFlag = s; }
+  void SetMakeSilentFlag(const std::string& s) { this->MakeSilentFlag = s; }
   std::string &GetMakeSilentFlag() { return this->MakeSilentFlag; }
   std::string &GetMakeSilentFlag() { return this->MakeSilentFlag; }
 
 
   /**
   /**
@@ -130,8 +130,9 @@ public:
    * Set the string used to include one makefile into another default
    * Set the string used to include one makefile into another default
    * is include.
    * is include.
    */
    */
-  void SetIncludeDirective(const char* s) { this->IncludeDirective = s; }
-  const char *GetIncludeDirective() { return this->IncludeDirective.c_str(); }
+  void SetIncludeDirective(const std::string& s)
+    { this->IncludeDirective = s; }
+  const std::string& GetIncludeDirective() { return this->IncludeDirective; }
 
 
   /**
   /**
    * Set max makefile variable size, default is 0 which means unlimited.
    * Set max makefile variable size, default is 0 which means unlimited.
@@ -192,7 +193,8 @@ public:
 
 
   static std::string ConvertToQuotedOutputPath(const char* p);
   static std::string ConvertToQuotedOutputPath(const char* p);
 
 
-  std::string CreateMakeVariable(const char* sin, const char* s2in);
+  std::string CreateMakeVariable(const std::string& sin,
+                                 const std::string& s2in);
 
 
   /** Called from command-line hook to bring dependencies up to date
   /** Called from command-line hook to bring dependencies up to date
       for a target.  */
       for a target.  */

+ 4 - 4
Source/cmLocalVisualStudio10Generator.cxx

@@ -19,7 +19,7 @@
 class cmVS10XMLParser : public cmXMLParser
 class cmVS10XMLParser : public cmXMLParser
 {
 {
   public:
   public:
-  virtual void EndElement(const char* /* name */)
+  virtual void EndElement(const std::string& /* name */)
     {
     {
     }
     }
   virtual void CharacterDataHandler(const char* data, int length)
   virtual void CharacterDataHandler(const char* data, int length)
@@ -30,14 +30,14 @@ class cmVS10XMLParser : public cmXMLParser
         this->DoGUID = false;
         this->DoGUID = false;
         }
         }
     }
     }
-  virtual void StartElement(const char* name, const char**)
+  virtual void StartElement(const std::string& name, const char**)
     {
     {
       // once the GUID is found do nothing
       // once the GUID is found do nothing
       if(this->GUID.size())
       if(this->GUID.size())
         {
         {
         return;
         return;
         }
         }
-      if(strcmp("ProjectGUID", name) == 0 || strcmp("ProjectGuid", name) == 0)
+      if("ProjectGUID" == name || "ProjectGuid" == name)
         {
         {
         this->DoGUID = true;
         this->DoGUID = true;
         }
         }
@@ -98,7 +98,7 @@ void cmLocalVisualStudio10Generator::Generate()
 
 
 
 
 void cmLocalVisualStudio10Generator
 void cmLocalVisualStudio10Generator
-::ReadAndStoreExternalGUID(const char* name,
+::ReadAndStoreExternalGUID(const std::string& name,
                            const char* path)
                            const char* path)
 {
 {
   cmVS10XMLParser parser;
   cmVS10XMLParser parser;

+ 1 - 1
Source/cmLocalVisualStudio10Generator.h

@@ -34,7 +34,7 @@ public:
    * Generate the makefile for this directory.
    * Generate the makefile for this directory.
    */
    */
   virtual void Generate();
   virtual void Generate();
-  virtual void ReadAndStoreExternalGUID(const char* name,
+  virtual void ReadAndStoreExternalGUID(const std::string& name,
                                         const char* path);
                                         const char* path);
 
 
 protected:
 protected:

+ 4 - 4
Source/cmLocalVisualStudio7Generator.cxx

@@ -2146,10 +2146,10 @@ std::string cmLocalVisualStudio7Generator
 class cmVS7XMLParser : public cmXMLParser
 class cmVS7XMLParser : public cmXMLParser
 {
 {
 public:
 public:
-  virtual void EndElement(const char* /* name */)
+  virtual void EndElement(const std::string& /* name */)
     {
     {
     }
     }
-  virtual void StartElement(const char* name, const char** atts)
+  virtual void StartElement(const std::string& name, const char** atts)
     {
     {
       // once the GUID is found do nothing
       // once the GUID is found do nothing
       if(this->GUID.size())
       if(this->GUID.size())
@@ -2157,7 +2157,7 @@ public:
         return;
         return;
         }
         }
       int i =0;
       int i =0;
-      if(strcmp("VisualStudioProject", name) == 0)
+      if("VisualStudioProject" == name)
         {
         {
         while(atts[i])
         while(atts[i])
           {
           {
@@ -2194,7 +2194,7 @@ public:
 };
 };
 
 
 void cmLocalVisualStudio7Generator::ReadAndStoreExternalGUID(
 void cmLocalVisualStudio7Generator::ReadAndStoreExternalGUID(
-  const char* name,
+  const std::string& name,
   const char* path)
   const char* path)
 {
 {
   cmVS7XMLParser parser;
   cmVS7XMLParser parser;

+ 2 - 2
Source/cmLocalVisualStudio7Generator.h

@@ -51,7 +51,7 @@ public:
   /**
   /**
    * Specify the type of the build: static, dll, or executable.
    * Specify the type of the build: static, dll, or executable.
    */
    */
-  void SetBuildType(BuildType,const char *name);
+  void SetBuildType(BuildType,const std::string& name);
 
 
   void SetPlatformName(const char* n) { this->PlatformName = n;}
   void SetPlatformName(const char* n) { this->PlatformName = n;}
 
 
@@ -62,7 +62,7 @@ public:
   void WriteStampFiles();
   void WriteStampFiles();
   virtual std::string ComputeLongestObjectDirectory(cmTarget&) const;
   virtual std::string ComputeLongestObjectDirectory(cmTarget&) const;
 
 
-  virtual void ReadAndStoreExternalGUID(const char* name,
+  virtual void ReadAndStoreExternalGUID(const std::string& name,
                                         const char* path);
                                         const char* path);
   virtual void AddCMakeListsRules();
   virtual void AddCMakeListsRules();
 protected:
 protected:

+ 2 - 2
Source/cmLocalVisualStudioGenerator.cxx

@@ -81,7 +81,7 @@ std::string
 cmLocalVisualStudioGenerator
 cmLocalVisualStudioGenerator
 ::ConstructScript(cmCustomCommand const& cc,
 ::ConstructScript(cmCustomCommand const& cc,
                   const std::string& configName,
                   const std::string& configName,
-                  const char* newline_text)
+                  const std::string& newline_text)
 {
 {
   bool useLocal = this->CustomCommandUseLocal();
   bool useLocal = this->CustomCommandUseLocal();
   const char* workingDirectory = cc.GetWorkingDirectory();
   const char* workingDirectory = cc.GetWorkingDirectory();
@@ -89,7 +89,7 @@ cmLocalVisualStudioGenerator
   RelativeRoot relativeRoot = workingDirectory? NONE : START_OUTPUT;
   RelativeRoot relativeRoot = workingDirectory? NONE : START_OUTPUT;
 
 
   // Avoid leading or trailing newlines.
   // Avoid leading or trailing newlines.
-  const char* newline = "";
+  std::string newline = "";
 
 
   // Line to check for error between commands.
   // Line to check for error between commands.
   std::string check_error = newline_text;
   std::string check_error = newline_text;

+ 1 - 1
Source/cmLocalVisualStudioGenerator.h

@@ -48,7 +48,7 @@ public:
   /** Construct a script from the given list of command lines.  */
   /** Construct a script from the given list of command lines.  */
   std::string ConstructScript(cmCustomCommand const& cc,
   std::string ConstructScript(cmCustomCommand const& cc,
                               const std::string& configName,
                               const std::string& configName,
-                              const char* newline = "\n");
+                              const std::string& newline = "\n");
 
 
   /** Label to which to jump in a batch file after a failed step in a
   /** Label to which to jump in a batch file after a failed step in a
       sequence of custom commands. */
       sequence of custom commands. */

+ 2 - 1
Source/cmTarget.cxx

@@ -4100,7 +4100,8 @@ bool cmTarget::ComputeOutputDir(const std::string& config,
 }
 }
 
 
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
-bool cmTarget::ComputePDBOutputDir(const char* kind, const std::string& config,
+bool cmTarget::ComputePDBOutputDir(const std::string& kind,
+                                   const std::string& config,
                                    std::string& out) const
                                    std::string& out) const
 {
 {
   // Look for a target property defining the target output directory
   // Look for a target property defining the target output directory

+ 1 - 1
Source/cmTarget.h

@@ -714,7 +714,7 @@ private:
   bool
   bool
   ComputeOutputDir(const std::string& config,
   ComputeOutputDir(const std::string& config,
                    bool implib, std::string& out) const;
                    bool implib, std::string& out) const;
-  bool ComputePDBOutputDir(const char* kind, const std::string& config,
+  bool ComputePDBOutputDir(const std::string& kind, const std::string& config,
                            std::string& out) const;
                            std::string& out) const;
 
 
   // Cache import information from properties for each configuration.
   // Cache import information from properties for each configuration.

+ 10 - 10
Source/cmVisualStudioWCEPlatformParser.cxx

@@ -62,7 +62,7 @@ const char* cmVisualStudioWCEPlatformParser::GetArchitectureFamily() const
   return 0;
   return 0;
 }
 }
 
 
-void cmVisualStudioWCEPlatformParser::StartElement(const char* name,
+void cmVisualStudioWCEPlatformParser::StartElement(const std::string& name,
                                                    const char** attributes)
                                                    const char** attributes)
 {
 {
   if(this->FoundRequiredName)
   if(this->FoundRequiredName)
@@ -72,7 +72,7 @@ void cmVisualStudioWCEPlatformParser::StartElement(const char* name,
 
 
   this->CharacterData = "";
   this->CharacterData = "";
 
 
-  if(strcmp(name, "PlatformData") == 0)
+  if(name == "PlatformData")
     {
     {
     this->PlatformName = "";
     this->PlatformName = "";
     this->OSMajorVersion = "";
     this->OSMajorVersion = "";
@@ -80,7 +80,7 @@ void cmVisualStudioWCEPlatformParser::StartElement(const char* name,
     this->Macros.clear();
     this->Macros.clear();
     }
     }
 
 
-  if(strcmp(name, "Macro") == 0)
+  if(name == "Macro")
     {
     {
     std::string macroName;
     std::string macroName;
     std::string macroValue;
     std::string macroValue;
@@ -102,7 +102,7 @@ void cmVisualStudioWCEPlatformParser::StartElement(const char* name,
       this->Macros[macroName] = macroValue;
       this->Macros[macroName] = macroValue;
       }
       }
     }
     }
-  else if(strcmp(name, "Directories") == 0)
+  else if(name == "Directories")
     {
     {
     for(const char** attr = attributes; *attr; attr += 2)
     for(const char** attr = attributes; *attr; attr += 2)
       {
       {
@@ -122,11 +122,11 @@ void cmVisualStudioWCEPlatformParser::StartElement(const char* name,
     }
     }
 }
 }
 
 
-void cmVisualStudioWCEPlatformParser::EndElement(const char* name)
+void cmVisualStudioWCEPlatformParser::EndElement(const std::string& name)
 {
 {
   if(!this->RequiredName)
   if(!this->RequiredName)
     {
     {
-    if(strcmp(name, "PlatformName") == 0)
+    if(name == "PlatformName")
       {
       {
       this->AvailablePlatforms.push_back(this->CharacterData);
       this->AvailablePlatforms.push_back(this->CharacterData);
       }
       }
@@ -138,19 +138,19 @@ void cmVisualStudioWCEPlatformParser::EndElement(const char* name)
     return;
     return;
     }
     }
 
 
-  if(strcmp(name, "PlatformName") == 0)
+  if(name == "PlatformName")
     {
     {
     this->PlatformName = this->CharacterData;
     this->PlatformName = this->CharacterData;
     }
     }
-  else if(strcmp(name, "OSMajorVersion") == 0)
+  else if(name == "OSMajorVersion")
     {
     {
     this->OSMajorVersion = this->CharacterData;
     this->OSMajorVersion = this->CharacterData;
     }
     }
-  else if(strcmp(name, "OSMinorVersion") == 0)
+  else if(name == "OSMinorVersion")
    {
    {
    this->OSMinorVersion = this->CharacterData;
    this->OSMinorVersion = this->CharacterData;
    }
    }
-  else if(strcmp(name, "Platform") == 0)
+  else if(name == "Platform")
     {
     {
     if(this->PlatformName == this->RequiredName)
     if(this->PlatformName == this->RequiredName)
       {
       {

+ 2 - 2
Source/cmVisualStudioWCEPlatformParser.h

@@ -41,8 +41,8 @@ public:
     return this->AvailablePlatforms; }
     return this->AvailablePlatforms; }
 
 
 protected:
 protected:
-  virtual void StartElement(const char* name, const char** attributes);
-  void EndElement(const char* name);
+  virtual void StartElement(const std::string& name, const char** attributes);
+  void EndElement(const std::string& name);
   void CharacterDataHandler(const char* data, int length);
   void CharacterDataHandler(const char* data, int length);
 
 
 private:
 private:

+ 9 - 9
Source/cmXCodeObject.h

@@ -38,12 +38,12 @@ public:
   PBXType GetIsA() { return this->IsA;}
   PBXType GetIsA() { return this->IsA;}
 
 
   void SetString(const std::string& s);
   void SetString(const std::string& s);
-  const char* GetString()
+  const std::string& GetString()
     {
     {
-      return this->String.c_str();
+      return this->String;
     }
     }
 
 
-  void AddAttribute(const char* name, cmXCodeObject* value)
+  void AddAttribute(const std::string& name, cmXCodeObject* value)
     {
     {
       this->ObjectAttributes[name] = value;
       this->ObjectAttributes[name] = value;
     }
     }
@@ -79,11 +79,11 @@ public:
 
 
   static void PrintList(std::vector<cmXCodeObject*> const&,
   static void PrintList(std::vector<cmXCodeObject*> const&,
                         std::ostream& out);
                         std::ostream& out);
-  const char* GetId()
+  const std::string& GetId()
     {
     {
-      return this->Id.c_str();
+      return this->Id;
     }
     }
-  void SetId(const char* id)
+  void SetId(const std::string& id)
     {
     {
       this->Id = id;
       this->Id = id;
     }
     }
@@ -95,8 +95,8 @@ public:
     {
     {
       this->Target = t;
       this->Target = t;
     }
     }
-  const char* GetComment() {return this->Comment.c_str();}
-  bool HasComment() { return (this->Comment.size() !=  0);}
+  const std::string& GetComment() {return this->Comment;}
+  bool HasComment() { return (!this->Comment.empty());}
   cmXCodeObject* GetObject(const char* name)
   cmXCodeObject* GetObject(const char* name)
     {
     {
       if(this->ObjectAttributes.count(name))
       if(this->ObjectAttributes.count(name))
@@ -141,7 +141,7 @@ public:
     return this->DependTargets;
     return this->DependTargets;
     }
     }
   std::vector<cmXCodeObject*> const& GetObjectList() { return this->List;}
   std::vector<cmXCodeObject*> const& GetObjectList() { return this->List;}
-  void SetComment(const char* c) { this->Comment = c;}
+  void SetComment(const std::string& c) { this->Comment = c;}
   static void PrintString(std::ostream& os,std::string String);
   static void PrintString(std::ostream& os,std::string String);
 protected:
 protected:
   void PrintString(std::ostream& os) const;
   void PrintString(std::ostream& os) const;

+ 2 - 2
Source/cmXMLParser.cxx

@@ -152,14 +152,14 @@ int cmXMLParser::ParsingComplete()
 }
 }
 
 
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
-void cmXMLParser::StartElement(const char * name,
+void cmXMLParser::StartElement(const std::string& name,
   const char ** /*atts*/)
   const char ** /*atts*/)
 {
 {
   std::cout << "Start element: " << name << std::endl;
   std::cout << "Start element: " << name << std::endl;
 }
 }
 
 
 //----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
-void cmXMLParser::EndElement(const char * name)
+void cmXMLParser::EndElement(const std::string& name)
 {
 {
   std::cout << "End element: " << name << std::endl;
   std::cout << "End element: " << name << std::endl;
 }
 }

+ 2 - 2
Source/cmXMLParser.h

@@ -74,11 +74,11 @@ protected:
    * element.  atts = Null-terminated array of attribute name/value pairs.
    * element.  atts = Null-terminated array of attribute name/value pairs.
    * Even indices are attribute names, and odd indices are values.
    * Even indices are attribute names, and odd indices are values.
    */
    */
-  virtual void StartElement(const char* name, const char** atts);
+  virtual void StartElement(const std::string& name, const char** atts);
 
 
   //! Called at the end of an element in the XML source opened when
   //! Called at the end of an element in the XML source opened when
   //StartElement was called.
   //StartElement was called.
-  virtual void EndElement(const char* name);
+  virtual void EndElement(const std::string& name);
 
 
   //! Called when there is character data to handle.
   //! Called when there is character data to handle.
   virtual void CharacterDataHandler(const char* data, int length);
   virtual void CharacterDataHandler(const char* data, int length);