Juan Lang : wintrust: Return error directly from WINTRUST_SaveSigner.
Module: wine Branch: master Commit: 47e75329e352eaffb727c37206e85261cdeca2a5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=47e75329e352eaffb727c37206... Author: Juan Lang <juan.lang(a)gmail.com> Date: Wed Jan 27 14:07:58 2010 -0800 wintrust: Return error directly from WINTRUST_SaveSigner. --- dlls/wintrust/softpub.c | 29 +++++++++++++---------------- 1 files changed, 13 insertions(+), 16 deletions(-) diff --git a/dlls/wintrust/softpub.c b/dlls/wintrust/softpub.c index 4a702c1..3fc14c2 100644 --- a/dlls/wintrust/softpub.c +++ b/dlls/wintrust/softpub.c @@ -474,9 +474,9 @@ static CMSG_SIGNER_INFO *WINTRUST_GetSigner(CRYPT_PROVIDER_DATA *data, return signerInfo; } -static BOOL WINTRUST_SaveSigner(CRYPT_PROVIDER_DATA *data, DWORD signerIdx) +static DWORD WINTRUST_SaveSigner(CRYPT_PROVIDER_DATA *data, DWORD signerIdx) { - BOOL ret; + DWORD err; CMSG_SIGNER_INFO *signerInfo = WINTRUST_GetSigner(data, signerIdx); if (signerInfo) @@ -485,11 +485,14 @@ static BOOL WINTRUST_SaveSigner(CRYPT_PROVIDER_DATA *data, DWORD signerIdx) sgnr.psSigner = signerInfo; sgnr.sftVerifyAsOf = data->sftSystemTime; - ret = data->psPfns->pfnAddSgnr2Chain(data, FALSE, signerIdx, &sgnr); + if (!data->psPfns->pfnAddSgnr2Chain(data, FALSE, signerIdx, &sgnr)) + err = GetLastError(); + else + err = ERROR_SUCCESS; } else - ret = FALSE; - return ret; + err = GetLastError(); + return err; } static CERT_INFO *WINTRUST_GetSignerCertInfo(CRYPT_PROVIDER_DATA *data, @@ -574,21 +577,15 @@ HRESULT WINAPI SoftpubLoadSignature(CRYPT_PROVIDER_DATA *data) if (ret) { DWORD i; + DWORD err = ERROR_SUCCESS; - for (i = 0; ret && i < signerCount; i++) + for (i = 0; !err && i < signerCount; i++) { - if ((ret = WINTRUST_SaveSigner(data, i))) - { - DWORD err; - + if (!(err = WINTRUST_SaveSigner(data, i))) err = WINTRUST_VerifySigner(data, i); - if (err) - { - SetLastError(err); - ret = FALSE; - } - } } + if (err) + ret = FALSE; } else SetLastError(TRUST_E_NOSIGNATURE);
participants (1)
-
Alexandre Julliard