Juan Lang : wintrust: Return error directly from WINTRUST_SaveSigner.

Alexandre Julliard julliard at winehq.org
Fri Jan 29 10:56:30 CST 2010


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

Author: Juan Lang <juan.lang at 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);




More information about the wine-cvs mailing list