Alistair Leslie-Hughes : include: Implement InlineIsEqualGUID.

Alexandre Julliard julliard at winehq.org
Fri Aug 2 14:26:30 CDT 2019


Module: wine
Branch: master
Commit: af5019f306d279bd9b3f069ffc0d4af50b3fba84
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=af5019f306d279bd9b3f069ffc0d4af50b3fba84

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Fri Jul 19 03:44:17 2019 +0000

include: Implement InlineIsEqualGUID.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/guiddef.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/include/guiddef.h b/include/guiddef.h
index 2adde9c..ba39dd8 100644
--- a/include/guiddef.h
+++ b/include/guiddef.h
@@ -139,8 +139,20 @@ typedef GUID FMTID,*LPFMTID;
 
 #if defined(__cplusplus) && !defined(CINTERFACE)
 #define IsEqualGUID(rguid1, rguid2) (!memcmp(&(rguid1), &(rguid2), sizeof(GUID)))
+inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
+{
+   return (((ULONG *)&rguid1)[0] == ((ULONG *)&rguid2)[0] &&
+           ((ULONG *)&rguid1)[1] == ((ULONG *)&rguid2)[1] &&
+           ((ULONG *)&rguid1)[2] == ((ULONG *)&rguid2)[2] &&
+           ((ULONG *)&rguid1)[3] == ((ULONG *)&rguid2)[3]);
+}
 #else /* defined(__cplusplus) && !defined(CINTERFACE) */
 #define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
+#define InlineIsEqualGUID(rguid1, rguid2)  \
+        (((ULONG *)rguid1)[0] == ((ULONG *)rguid2)[0] && \
+         ((ULONG *)rguid1)[1] == ((ULONG *)rguid2)[1] && \
+         ((ULONG *)rguid1)[2] == ((ULONG *)rguid2)[2] && \
+         ((ULONG *)rguid1)[3] == ((ULONG *)rguid2)[3])
 #endif /* defined(__cplusplus) && !defined(CINTERFACE) */
 
 #if defined(__cplusplus) && !defined(CINTERFACE)




More information about the wine-cvs mailing list