fix creation of shlwapi vcproject file
authorChristoph von Wittich <christoph_vw@reactos.org>
Thu, 20 Oct 2005 09:43:49 +0000 (09:43 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Thu, 20 Oct 2005 09:43:49 +0000 (09:43 +0000)
svn path=/trunk/; revision=18623

reactos/tools/rbuild/backend/msvc/msvc.h
reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp

index ccabc4e..b685fe5 100644 (file)
@@ -80,8 +80,13 @@ class MSVCBackend : public Backend
                // functions in vcprojmaker.cpp:\r
 \r
                std::string _gen_guid();\r
-               void _generate_vcproj ( const Module& module );\r
+               std::string _replace_str(\r
+                       std::string string1,\r
+                       const std::string &find_str,\r
+                       const std::string &replace_str);\r
 \r
+               void _generate_vcproj ( const Module& module );\r
+               \r
                void _generate_sln_header ( FILE* OUT );\r
                void _generate_sln_footer ( FILE* OUT );\r
                void _generate_sln ( FILE* OUT );\r
index dd2463e..98d3d14 100644 (file)
@@ -255,6 +255,8 @@ MSVCBackend::_generate_vcproj ( const Module& module )
                {\r
                        if ( i > 0 )\r
                                fprintf ( OUT, ";" );\r
+\r
+                       defines[i] = _replace_str(defines[i], "\"","&quot;"); \r
                        fprintf ( OUT, "%s", defines[i].c_str() );\r
                }\r
                fprintf ( OUT, "\"\r\n" );\r
@@ -387,6 +389,21 @@ MSVCBackend::_generate_vcproj ( const Module& module )
        fclose(OUT);\r
 }\r
 \r
+std::string\r
+MSVCBackend::_replace_str(std::string string1, const std::string &find_str, const std::string &replace_str)\r
+{\r
+        std::string::size_type pos = string1.find(find_str, 0);\r
+        int intLen = find_str.length();\r
+\r
+        while(std::string::npos != pos)\r
+        {\r
+                string1.replace(pos, intLen, replace_str);\r
+                pos = string1.find(find_str, intLen + pos);\r
+        }\r
+\r
+        return string1;\r
+} \r
+\r
 void\r
 MSVCBackend::_generate_sln_header ( FILE* OUT )\r
 {\r