Juan Lang : wintrust: Return error directly from SOFTPUB_LoadCertMessage.
Alexandre Julliard
julliard at winehq.org
Thu Jan 28 11:15:35 CST 2010
Module: wine
Branch: master
Commit: dce2a4590d1bad68797a31f911a9d16882867c88
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dce2a4590d1bad68797a31f911a9d16882867c88
Author: Juan Lang <juan.lang at gmail.com>
Date: Wed Jan 27 10:42:34 2010 -0800
wintrust: Return error directly from SOFTPUB_LoadCertMessage.
---
dlls/wintrust/softpub.c | 34 +++++++++++++---------------------
1 files changed, 13 insertions(+), 21 deletions(-)
diff --git a/dlls/wintrust/softpub.c b/dlls/wintrust/softpub.c
index 2524df3..bf866c3 100644
--- a/dlls/wintrust/softpub.c
+++ b/dlls/wintrust/softpub.c
@@ -282,9 +282,9 @@ error:
return err;
}
-static BOOL SOFTPUB_LoadCertMessage(CRYPT_PROVIDER_DATA *data)
+static DWORD SOFTPUB_LoadCertMessage(CRYPT_PROVIDER_DATA *data)
{
- BOOL ret;
+ DWORD err;
if (data->pWintrustData->u.pCert &&
WVT_IS_CBSTRUCT_GT_MEMBEROFFSET(WINTRUST_CERT_INFO,
@@ -294,6 +294,7 @@ static BOOL SOFTPUB_LoadCertMessage(CRYPT_PROVIDER_DATA *data)
{
CRYPT_PROVIDER_SGNR signer = { sizeof(signer), { 0 } };
DWORD i;
+ BOOL ret;
/* Add a signer with nothing but the time to verify, so we can
* add a cert to it
@@ -321,19 +322,18 @@ static BOOL SOFTPUB_LoadCertMessage(CRYPT_PROVIDER_DATA *data)
ret = data->psPfns->pfnAddStore2Chain(data,
data->pWintrustData->u.pCert->pahStores[i]);
}
+ if (!ret)
+ err = GetLastError();
}
else
{
/* Do nothing!? See the tests */
- ret = TRUE;
+ err = ERROR_SUCCESS;
}
}
else
- {
- SetLastError(ERROR_INVALID_PARAMETER);
- ret = FALSE;
- }
- return ret;
+ err = ERROR_INVALID_PARAMETER;
+ return err;
}
static DWORD SOFTPUB_LoadFileMessage(CRYPT_PROVIDER_DATA *data)
@@ -408,7 +408,6 @@ error:
HRESULT WINAPI SoftpubLoadMessage(CRYPT_PROVIDER_DATA *data)
{
- BOOL ret = TRUE;
DWORD err = ERROR_SUCCESS;
TRACE("(%p)\n", data);
@@ -419,7 +418,7 @@ HRESULT WINAPI SoftpubLoadMessage(CRYPT_PROVIDER_DATA *data)
switch (data->pWintrustData->dwUnionChoice)
{
case WTD_CHOICE_CERT:
- ret = SOFTPUB_LoadCertMessage(data);
+ err = SOFTPUB_LoadCertMessage(data);
break;
case WTD_CHOICE_FILE:
err = SOFTPUB_LoadFileMessage(data);
@@ -429,21 +428,14 @@ HRESULT WINAPI SoftpubLoadMessage(CRYPT_PROVIDER_DATA *data)
break;
default:
FIXME("unimplemented for %d\n", data->pWintrustData->dwUnionChoice);
- SetLastError(ERROR_INVALID_PARAMETER);
- ret = FALSE;
+ err = ERROR_INVALID_PARAMETER;
}
- if (!ret)
- data->padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] =
- GetLastError();
- else if (err)
- {
+ if (err)
data->padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] = err;
- ret = FALSE;
- }
- TRACE("returning %d (%08x)\n", ret ? S_OK : S_FALSE,
+ TRACE("returning %d (%08x)\n", !err ? S_OK : S_FALSE,
data->padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV]);
- return ret ? S_OK : S_FALSE;
+ return !err ? S_OK : S_FALSE;
}
static CMSG_SIGNER_INFO *WINTRUST_GetSigner(CRYPT_PROVIDER_DATA *data,
More information about the wine-cvs
mailing list