From b5be9e008ed90743c8ccbd594c041692e1135da1 Mon Sep 17 00:00:00 2001
From: ivost <ivost@idefix.freepascal.org>
Date: Fri, 5 Jun 2009 14:36:43 +0000
Subject: [PATCH] * added GuidCase function to intf/guid helper functions

git-svn-id: trunk@13234 -
---
 rtl/objpas/sysutils/intfh.inc    | 1 +
 rtl/objpas/sysutils/sysuintf.inc | 9 +++++++++
 2 files changed, 10 insertions(+)

diff --git a/rtl/objpas/sysutils/intfh.inc b/rtl/objpas/sysutils/intfh.inc
index 059f4d422f..3dd01a0c87 100644
--- a/rtl/objpas/sysutils/intfh.inc
+++ b/rtl/objpas/sysutils/intfh.inc
@@ -33,4 +33,5 @@ function Supports(const AClass: TClass; const IID: Shortstring): Boolean; overlo
 function StringToGUID(const S: string): TGUID;
 function GUIDToString(const GUID: TGUID): string;
 function IsEqualGUID(const guid1, guid2: TGUID): Boolean;
+function GuidCase(const GUID: TGUID; const List: array of TGuid): Integer;
 
diff --git a/rtl/objpas/sysutils/sysuintf.inc b/rtl/objpas/sysutils/sysuintf.inc
index 72b37d0c4b..6e04658d21 100644
--- a/rtl/objpas/sysutils/sysuintf.inc
+++ b/rtl/objpas/sysutils/sysuintf.inc
@@ -145,6 +145,15 @@ begin
 end;
 
 
+function GuidCase(const GUID: TGUID; const List: array of TGuid): Integer;
+begin
+  for Result := High(List) downto 0 do
+    if IsEqualGUID(GUID, List[Result]) then
+      Exit;
+  Result := -1;
+end;
+
+
 function GUIDToString(const GUID: TGUID): string;
 begin
   SetLength(Result, 38);