Module: wine Branch: master Commit: 0823c4fc61156540b2c246e334deaccbbe46f23f URL: http://source.winehq.org/git/wine.git/?a=commit;h=0823c4fc61156540b2c246e334...
Author: Juan Lang juan.lang@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; }
/***********************************************************************