fix creation of shlwapi vcproject file
Modified: trunk/reactos/tools/rbuild/backend/msvc/msvc.h
Modified: trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp

Modified: trunk/reactos/tools/rbuild/backend/msvc/msvc.h
--- trunk/reactos/tools/rbuild/backend/msvc/msvc.h	2005-10-20 08:46:55 UTC (rev 18622)
+++ trunk/reactos/tools/rbuild/backend/msvc/msvc.h	2005-10-20 09:43:49 UTC (rev 18623)
@@ -80,8 +80,13 @@
 		// functions in vcprojmaker.cpp:
 
 		std::string _gen_guid();
+		std::string _replace_str(
+			std::string string1,
+			const std::string &find_str,
+			const std::string &replace_str);
+
 		void _generate_vcproj ( const Module& module );
-
+		
 		void _generate_sln_header ( FILE* OUT );
 		void _generate_sln_footer ( FILE* OUT );
 		void _generate_sln ( FILE* OUT );

Modified: trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp
--- trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp	2005-10-20 08:46:55 UTC (rev 18622)
+++ trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp	2005-10-20 09:43:49 UTC (rev 18623)
@@ -255,6 +255,8 @@
 		{
 			if ( i > 0 )
 				fprintf ( OUT, ";" );
+
+			defines[i] = _replace_str(defines[i], "\"","""); 
 			fprintf ( OUT, "%s", defines[i].c_str() );
 		}
 		fprintf ( OUT, "\"\r\n" );
@@ -387,6 +389,21 @@
 	fclose(OUT);
 }
 
+std::string
+MSVCBackend::_replace_str(std::string string1, const std::string &find_str, const std::string &replace_str)
+{
+        std::string::size_type pos = string1.find(find_str, 0);
+        int intLen = find_str.length();
+
+        while(std::string::npos != pos)
+        {
+                string1.replace(pos, intLen, replace_str);
+                pos = string1.find(find_str, intLen + pos);
+        }
+
+        return string1;
+} 
+
 void
 MSVCBackend::_generate_sln_header ( FILE* OUT )
 {