Dmitry Timoshkov : widl: Ignore assignment of a duplicate uuid.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Nov 5 10:14:54 CST 2015


Module: wine
Branch: master
Commit: 42c328ddf4b12e556ef95853cda6d5fa0328f39d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=42c328ddf4b12e556ef95853cda6d5fa0328f39d

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Tue Nov  3 13:32:22 2015 +0800

widl: Ignore assignment of a duplicate uuid.

MSDN KB285146 article describes this behaviour, and the tests confirm
that.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 tools/widl/write_msft.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c
index 3cbae92..7396944 100644
--- a/tools/widl/write_msft.c
+++ b/tools/widl/write_msft.c
@@ -494,10 +494,22 @@ static int ctl2_alloc_guid(
     MSFT_GuidEntry *guid_space;
     int hash_key;
 
+    chat("adding uuid {%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}\n",
+         guid->guid.Data1, guid->guid.Data2, guid->guid.Data3,
+         guid->guid.Data4[0], guid->guid.Data4[1], guid->guid.Data4[2], guid->guid.Data4[3],
+         guid->guid.Data4[4], guid->guid.Data4[5], guid->guid.Data4[6], guid->guid.Data4[7]);
+
     hash_key = ctl2_hash_guid(&guid->guid);
 
     offset = ctl2_find_guid(typelib, hash_key, &guid->guid);
-    if (offset != -1) return offset;
+    if (offset != -1)
+    {
+        warning("duplicate uuid {%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}\n",
+                guid->guid.Data1, guid->guid.Data2, guid->guid.Data3,
+                guid->guid.Data4[0], guid->guid.Data4[1], guid->guid.Data4[2], guid->guid.Data4[3],
+                guid->guid.Data4[4], guid->guid.Data4[5], guid->guid.Data4[6], guid->guid.Data4[7]);
+        return -1;
+    }
 
     offset = ctl2_alloc_segment(typelib, MSFT_SEG_GUID, sizeof(MSFT_GuidEntry), 0);
 




More information about the wine-cvs mailing list