Juan Lang : wintrust: Implement WTHelperGetProvSignerFromChain.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Aug 15 04:34:06 CDT 2007


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Tue Aug 14 10:14:54 2007 -0700

wintrust: Implement WTHelperGetProvSignerFromChain.

---

 dlls/wintrust/wintrust_main.c |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/dlls/wintrust/wintrust_main.c b/dlls/wintrust/wintrust_main.c
index 66ad322..8e7859d 100644
--- a/dlls/wintrust/wintrust_main.c
+++ b/dlls/wintrust/wintrust_main.c
@@ -105,9 +105,23 @@ CRYPT_PROVIDER_SGNR * WINAPI WTHelperGetProvSignerFromChain(
  CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner,
  DWORD idxCounterSigner)
 {
-    FIXME("%p %d %d %d\n", pProvData, idxSigner, fCounterSigner,
+    CRYPT_PROVIDER_SGNR *sgnr;
+
+    TRACE("(%p %d %d %d)\n", pProvData, idxSigner, fCounterSigner,
      idxCounterSigner);
-    return NULL;
+
+    if (idxSigner >= pProvData->csSigners || !pProvData->pasSigners)
+        return NULL;
+    sgnr = &pProvData->pasSigners[idxSigner];
+    if (fCounterSigner)
+    {
+        if (idxCounterSigner >= sgnr->csCounterSigners ||
+         !sgnr->pasCounterSigners)
+            return NULL;
+        sgnr = &sgnr->pasCounterSigners[idxCounterSigner];
+    }
+    TRACE("returning %p\n", sgnr);
+    return sgnr;
 }
 
 /***********************************************************************




More information about the wine-cvs mailing list