create only the project files specified on cmdline
[reactos.git] / reactos / tools / rbuild / backend / msvc / genguid.cpp
index bfe11b3..85dfb6b 100644 (file)
  *\r
  */\r
 
+#include "../../pch.h"\r
+#include "msvc.h"\r
+#include <string>\r
+\r
+using std::string;\r
+\r
 #ifdef _WIN32\r
 #include <objbase.h>\r
 #include <stdio.h>\r
@@ -32,12 +38,15 @@ static CoInitializeFunc *pCoInitialize = NULL;
 static CoUninitializeFunc *pCoUninitialize = NULL;\r
 static CoCreateGuidFunc *pCoCreateGuid = NULL;
 \r
-void gen_guid()\r
+\r
+std::string\r
+MSVCBackend::_gen_guid()\r
 {\r
        GUID m_guid;\r
        HRESULT result;\r
        bool good_guid = false;\r
-\r
+       static char guid[38];\r
+       \r
        // Load ole32. We will need it later on\r
        HMODULE olelib = LoadLibrary ( "ole32.dll" );\r
        if ( olelib != NULL )\r
@@ -67,16 +76,20 @@ void gen_guid()
        {\r
                // TODO FIXME - fall-back to random #'s\r
        }\r
-       const char* strfmt = "%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X\r\n";\r
-       printf(strfmt,m_guid.Data1,m_guid.Data2,m_guid.Data3,m_guid.Data4[0],\r
+       const char* strfmt = "%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X";\r
+       sprintf(guid, strfmt,m_guid.Data1,m_guid.Data2,m_guid.Data3,m_guid.Data4[0],\r
                m_guid.Data4[1],m_guid.Data4[2],m_guid.Data4[3],m_guid.Data4[4],m_guid.Data4[5],\r
                m_guid.Data4[6],m_guid.Data4[7],m_guid.Data1,m_guid.Data2,m_guid.Data3,m_guid.Data4[0],\r
                m_guid.Data4[1],m_guid.Data4[2],m_guid.Data4[3],m_guid.Data4[4],m_guid.Data4[5],\r
                m_guid.Data4[6],m_guid.Data4[7]);\r
+       \r
+       return guid;\r
 }\r
 
-#else /* Linux, etc */
-void gen_guid()\r
+#else /* Linux, etc */\r
+
+std::string\r
+MSVCBackend::_gen_guid()\r
 {\r
 }
 #endif /* WIN32/Linux */