Juan Lang : crypt32: Temporarily change prototype of AsnDecodeIntInternal to the CryptDecodeObjectEx form .

Alexandre Julliard julliard at winehq.org
Tue Sep 18 05:31:25 CDT 2007


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Mon Sep 17 17:06:53 2007 -0700

crypt32: Temporarily change prototype of AsnDecodeIntInternal to the CryptDecodeObjectEx form.

---

 dlls/crypt32/decode.c |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/dlls/crypt32/decode.c b/dlls/crypt32/decode.c
index 0d38efd..eed7d88 100644
--- a/dlls/crypt32/decode.c
+++ b/dlls/crypt32/decode.c
@@ -115,8 +115,9 @@ static BOOL WINAPI CRYPT_AsnDecodeBits(DWORD dwCertEncodingType,
 static BOOL WINAPI CRYPT_AsnDecodeInt(DWORD dwCertEncodingType,
  LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags,
  PCRYPT_DECODE_PARA pDecodePara, void *pvStructInfo, DWORD *pcbStructInfo);
-static BOOL CRYPT_AsnDecodeIntInternal(const BYTE *pbEncoded, DWORD cbEncoded,
- DWORD dwFlags, void *pvStructInfo, DWORD *pcbStructInfo, DWORD *pcbDecoded);
+static BOOL WINAPI CRYPT_AsnDecodeIntInternal(DWORD dwCertEncodingType,
+ LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags,
+ PCRYPT_DECODE_PARA pDecodePara, void *pvStructInfo, DWORD *pcbStructInfo);
 /* Like CRYPT_AsnDecodeInteger, but assumes the CRYPT_INTEGER_BLOB's pbData
  * member has been initialized, doesn't do exception handling, and doesn't do
  * memory allocation.  Also doesn't check tag, assumes the caller has checked
@@ -846,8 +847,9 @@ static BOOL WINAPI CRYPT_AsnDecodeCertVersion(DWORD dwCertEncodingType,
     {
         BYTE lenBytes = GET_LEN_BYTES(pbEncoded[1]);
 
-        ret = CRYPT_AsnDecodeIntInternal(pbEncoded + 1 + lenBytes, dataLen,
-         dwFlags, pvStructInfo, pcbStructInfo, NULL);
+        ret = CRYPT_AsnDecodeIntInternal(dwCertEncodingType, NULL,
+         pbEncoded + 1 + lenBytes, dataLen, dwFlags, pDecodePara, pvStructInfo,
+         pcbStructInfo);
     }
     return ret;
 }
@@ -2671,8 +2673,9 @@ static BOOL WINAPI CRYPT_AsnDecodePathLenConstraint(DWORD dwCertEncodingType,
                  (struct PATH_LEN_CONSTRAINT *)pvStructInfo;
                 DWORD size = sizeof(constraint->dwPathLenConstraint);
 
-                ret = CRYPT_AsnDecodeIntInternal(pbEncoded, cbEncoded, 0,
-                 &constraint->dwPathLenConstraint, &size, NULL);
+                ret = CRYPT_AsnDecodeIntInternal(dwCertEncodingType, NULL,
+                 pbEncoded, cbEncoded, dwFlags, pDecodePara,
+                 &constraint->dwPathLenConstraint, &size);
                 if (ret)
                     constraint->fPathLenConstraint = TRUE;
                 TRACE("got an int, dwPathLenConstraint is %d\n",
@@ -3054,8 +3057,10 @@ static BOOL WINAPI CRYPT_AsnDecodeBits(DWORD dwCertEncodingType,
     return ret;
 }
 
-static BOOL CRYPT_AsnDecodeIntInternal(const BYTE *pbEncoded, DWORD cbEncoded,
- DWORD dwFlags, void *pvStructInfo, DWORD *pcbStructInfo, DWORD *pcbDecoded)
+static BOOL WINAPI CRYPT_AsnDecodeIntInternal(DWORD dwCertEncodingType,
+ LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded,
+ DWORD dwFlags, PCRYPT_DECODE_PARA pDecodePara, void *pvStructInfo,
+ DWORD *pcbStructInfo)
 {
     BOOL ret;
     BYTE buf[sizeof(CRYPT_INTEGER_BLOB) + sizeof(int)];
@@ -3109,8 +3114,9 @@ static BOOL WINAPI CRYPT_AsnDecodeInt(DWORD dwCertEncodingType,
     {
         DWORD bytesNeeded;
 
-        ret = CRYPT_AsnDecodeIntInternal(pbEncoded, cbEncoded,
-         dwFlags & ~CRYPT_DECODE_ALLOC_FLAG, NULL, &bytesNeeded, NULL);
+        ret = CRYPT_AsnDecodeIntInternal(dwCertEncodingType, lpszStructType,
+         pbEncoded, cbEncoded, dwFlags & ~CRYPT_DECODE_ALLOC_FLAG, NULL, NULL,
+         &bytesNeeded);
         if (ret)
         {
             if (!pvStructInfo)
@@ -3120,9 +3126,10 @@ static BOOL WINAPI CRYPT_AsnDecodeInt(DWORD dwCertEncodingType,
             {
                 if (dwFlags & CRYPT_DECODE_ALLOC_FLAG)
                     pvStructInfo = *(BYTE **)pvStructInfo;
-                ret = CRYPT_AsnDecodeIntInternal(pbEncoded, cbEncoded,
-                 dwFlags & ~CRYPT_DECODE_ALLOC_FLAG, pvStructInfo,
-                 &bytesNeeded, NULL);
+                ret = CRYPT_AsnDecodeIntInternal(dwCertEncodingType,
+                 lpszStructType, pbEncoded, cbEncoded,
+                 dwFlags & ~CRYPT_DECODE_ALLOC_FLAG, NULL, pvStructInfo,
+                 &bytesNeeded);
             }
         }
     }




More information about the wine-cvs mailing list