From 6a67ab2eb2cf0ebd429556bb685323938ec35334 Mon Sep 17 00:00:00 2001 From: jules Date: Wed, 3 Apr 2013 20:19:19 +0100 Subject: [PATCH] Fix for uuidtostring function. --- modules/juce_core/native/juce_win32_ComSmartPtr.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/juce_core/native/juce_win32_ComSmartPtr.h b/modules/juce_core/native/juce_win32_ComSmartPtr.h index 1ee3f299d3..2bb3c4a3a0 100644 --- a/modules/juce_core/native/juce_win32_ComSmartPtr.h +++ b/modules/juce_core/native/juce_win32_ComSmartPtr.h @@ -31,11 +31,17 @@ template struct UUIDGetter { static CLSID get() { jassertfalse; r #define __uuidof(x) UUIDGetter::get() #endif -inline CLSID uuidFromString (const char* s) noexcept +inline GUID uuidFromString (const char* const s) noexcept { - CLSID c; - UuidFromStringA ((unsigned char*) s, &c); - return c; + unsigned long p0; + unsigned int p1, p2, p3, p4, p5, p6, p7, p8, p9, p10; + + sscanf_s (s, "%08lX-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X", + &p0, &p1, &p2, &p3, &p4, &p5, &p6, &p7, &p8, &p9, &p10); + + GUID g = { p0, (uint16) p1, (uint16) p2, { (uint8) p3, (uint8) p4, (uint8) p5, (uint8) p6, + (uint8) p7, (uint8) p8, (uint8) p9, (uint8) p10 }}; + return g; } //==============================================================================