Added CINTERFACE and NONAMELESSUNION support.
authorPatrik Stridvall <ps@leissner.se>
Sat, 12 Jun 1999 11:05:29 +0000 (11:05 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Sat, 12 Jun 1999 11:05:29 +0000 (11:05 +0000)
include/commctrl.h
include/prsht.h
include/wine/obj_dataobject.h
include/wtypes.h

index 05f16aa..9f546b2 100644 (file)
 
 /* c++ likes nameless unions whereas c doesnt */
 /* (used in property sheet structures)        */
-#ifdef __cplusplus
+#if defined(__cplusplus) && !defined(NONAMELESSUNION)
 #define DUMMYUNIONNAME
 #define DUMMYUNIONNAME1
 #define DUMMYUNIONNAME2
 #define DUMMYUNIONNAME3
 #define DUMMYUNIONNAME4
 #define DUMMYUNIONNAME5
-#else
+#else /* defined(__cplusplus) && !defined(NONAMELESSUNION) */
 #define DUMMYUNIONNAME   u
 #define DUMMYUNIONNAME1  u1
 #define DUMMYUNIONNAME2  u2
 #define DUMMYUNIONNAME3  u3
 #define DUMMYUNIONNAME4  u4
 #define DUMMYUNIONNAME5  u5
-#endif
+#endif /* defined(__cplusplus) && !defined(NONAMELESSUNION) */
 
 #ifdef __cplusplus
 extern "C" {
index f975124..8fa8822 100644 (file)
@@ -31,21 +31,21 @@ typedef BOOL (CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPA
 
 /* c++ likes nameless unions whereas c doesnt */
 /* (used in property sheet structures)        */
-#ifdef __cplusplus
+#if defined(__cplusplus) && !defined(NONAMELESSUNION)
 #define DUMMYUNIONNAME
 #define DUMMYUNIONNAME1
 #define DUMMYUNIONNAME2
 #define DUMMYUNIONNAME3
 #define DUMMYUNIONNAME4
 #define DUMMYUNIONNAME5
-#else
+#else /*  defined(__cplusplus) && !defined(NONAMELESSUNION) */
 #define DUMMYUNIONNAME   u
 #define DUMMYUNIONNAME1  u1
 #define DUMMYUNIONNAME2  u2
 #define DUMMYUNIONNAME3  u3
 #define DUMMYUNIONNAME4  u4
 #define DUMMYUNIONNAME5  u5
-#endif
+#endif /* defined(__cplusplus) && !defined(NONAMELESSUNION) */
 
 /*
  * Property sheet support (structures)
index 8e6432c..b6e98e5 100644 (file)
@@ -7,11 +7,15 @@
 #ifndef __WINE_WINE_OBJ_DATAOBJECT_H
 #define __WINE_WINE_OBJ_DATAOBJECT_H
 
+#if defined(__cplusplus) && !defined(NONAMELESSUNION)
+#define DUMMYUNIONNAME
+#else /* defined(__cplusplus) && !defined(NONAMELESSUNION) */
+#define DUMMYUNIONNAME u
+#endif /* defined(__cplusplus) && !defined(NONAMELESSUNION) */
+
 #ifdef __cplusplus
-#define DUMMY_UNION_NAME
-#else
-#define DUMMY_UNION_NAME u
-#endif
+extern "C" {
+#endif /* defined(__cplusplus) */
 
 /*****************************************************************************
  * Predeclare the structures
@@ -118,7 +122,7 @@ struct STGMEDIUM
         LPOLESTR lpszFileName;
         IStream *pstm;
         IStorage *pstg;
-    } DUMMY_UNION_NAME;
+    } DUMMYUNIONNAME;
     IUnknown *pUnkForRelease;
 };   
 
index 1ffa115..da6b589 100644 (file)
@@ -51,17 +51,17 @@ typedef GUID  *LPGUID;
 typedef GUID  CLSID,*LPCLSID;
 typedef GUID   IID,*LPIID;
 typedef GUID   FMTID,*LPFMTID;
-#ifdef __cplusplus
+#if defined(__cplusplus) && !defined(CINTERFACE)
 #define REFGUID             const GUID &
 #define REFCLSID            const CLSID &
 #define REFIID              const IID &
 #define REFFMTID            const FMTID &
-#else /* !defined(__cplusplus) */
+#else /* !defined(__cplusplus) && !defined(CINTERFACE) */
 #define REFGUID             const GUID* const
 #define REFCLSID            const CLSID* const
 #define REFIID              const IID* const
 #define REFFMTID            const FMTID* const
-#endif /* !defined(__cplusplus) */
+#endif /* !defined(__cplusplus) && !defined(CINTERFACE) */
 
 extern const IID GUID_NULL;
 #define IID_NULL            GUID_NULL