Francois Gouget : crypt32: Fix compilation on systems that don' t support nameless unions.

Alexandre Julliard julliard at winehq.org
Mon Oct 19 09:56:11 CDT 2009


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

Author: Francois Gouget <fgouget at free.fr>
Date:   Sat Oct 17 20:27:58 2009 +0200

crypt32: Fix compilation on systems that don't support nameless unions.

---

 dlls/crypt32/str.c |   31 +++++++++++++++++--------------
 1 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/dlls/crypt32/str.c b/dlls/crypt32/str.c
index b0a3d25..758abc9 100644
--- a/dlls/crypt32/str.c
+++ b/dlls/crypt32/str.c
@@ -16,6 +16,9 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 #include <stdarg.h>
+
+#define NONAMELESSUNION
+
 #include "windef.h"
 #include "winbase.h"
 #include "winnls.h"
@@ -1017,11 +1020,11 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
         if (entry)
         {
             if (!pszNameString)
-                ret = strlenW(entry->pwszRfc822Name) + 1;
+                ret = strlenW(entry->u.pwszRfc822Name) + 1;
             else if (cchNameString)
             {
-                ret = min(strlenW(entry->pwszRfc822Name), cchNameString - 1);
-                memcpy(pszNameString, entry->pwszRfc822Name,
+                ret = min(strlenW(entry->u.pwszRfc822Name), cchNameString - 1);
+                memcpy(pszNameString, entry->u.pwszRfc822Name,
                  ret * sizeof(WCHAR));
                 pszNameString[ret++] = 0;
             }
@@ -1045,7 +1048,7 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
 
             if (entry)
                 ret = CertNameToStrW(pCertContext->dwCertEncodingType,
-                 &entry->DirectoryName, *(DWORD *)pvTypePara, pszNameString,
+                 &entry->u.DirectoryName, *(DWORD *)pvTypePara, pszNameString,
                  cchNameString);
             if (info)
                 LocalFree(info);
@@ -1062,7 +1065,7 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
 
             if (entry)
                 ret = cert_name_to_str_with_indent(X509_ASN_ENCODING, 0,
-                 &entry->DirectoryName, 0, pszNameString, cchNameString);
+                 &entry->u.DirectoryName, 0, pszNameString, cchNameString);
             if (altInfo)
                 LocalFree(altInfo);
         }
@@ -1102,12 +1105,12 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
                 if (entry)
                 {
                     if (!pszNameString)
-                        ret = strlenW(entry->pwszRfc822Name) + 1;
+                        ret = strlenW(entry->u.pwszRfc822Name) + 1;
                     else if (cchNameString)
                     {
-                        ret = min(strlenW(entry->pwszRfc822Name),
+                        ret = min(strlenW(entry->u.pwszRfc822Name),
                          cchNameString - 1);
-                        memcpy(pszNameString, entry->pwszRfc822Name,
+                        memcpy(pszNameString, entry->u.pwszRfc822Name,
                          ret * sizeof(WCHAR));
                         pszNameString[ret++] = 0;
                     }
@@ -1139,11 +1142,11 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
         if (entry)
         {
             if (!pszNameString)
-                ret = strlenW(entry->pwszDNSName) + 1;
+                ret = strlenW(entry->u.pwszDNSName) + 1;
             else if (cchNameString)
             {
-                ret = min(strlenW(entry->pwszDNSName), cchNameString - 1);
-                memcpy(pszNameString, entry->pwszDNSName, ret * sizeof(WCHAR));
+                ret = min(strlenW(entry->u.pwszDNSName), cchNameString - 1);
+                memcpy(pszNameString, entry->u.pwszDNSName, ret * sizeof(WCHAR));
                 pszNameString[ret++] = 0;
             }
         }
@@ -1163,11 +1166,11 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
         if (entry)
         {
             if (!pszNameString)
-                ret = strlenW(entry->pwszURL) + 1;
+                ret = strlenW(entry->u.pwszURL) + 1;
             else if (cchNameString)
             {
-                ret = min(strlenW(entry->pwszURL), cchNameString - 1);
-                memcpy(pszNameString, entry->pwszURL, ret * sizeof(WCHAR));
+                ret = min(strlenW(entry->u.pwszURL), cchNameString - 1);
+                memcpy(pszNameString, entry->u.pwszURL, ret * sizeof(WCHAR));
                 pszNameString[ret++] = 0;
             }
         }




More information about the wine-cvs mailing list