Commit 81d19be8 authored by Jon Griffiths's avatar Jon Griffiths Committed by Alexandre Julliard

Make I1 fields explicitly signed.

Add support for I8 fields in variants. Add a missing undocumented FADF_ flag.
parent 4d8d0f03
...@@ -150,6 +150,8 @@ void __RPC_USER LPSAFEARRAY_UserFree (unsigned long *, LPSAFEARRA ...@@ -150,6 +150,8 @@ void __RPC_USER LPSAFEARRAY_UserFree (unsigned long *, LPSAFEARRA
#define FADF_RESERVED (0xf008) #define FADF_RESERVED (0xf008)
#define FADF_DATADELETED (0x1000)
#define FADF_CREATEVECTOR (0x2000) #define FADF_CREATEVECTOR (0x2000)
#if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION) #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
...@@ -179,7 +181,7 @@ struct tagVARIANT { ...@@ -179,7 +181,7 @@ struct tagVARIANT {
WORD wReserved2; WORD wReserved2;
WORD wReserved3; WORD wReserved3;
union { union {
CHAR cVal; signed char cVal;
USHORT uiVal; USHORT uiVal;
ULONG ulVal; ULONG ulVal;
INT intVal; INT intVal;
...@@ -197,7 +199,9 @@ struct tagVARIANT { ...@@ -197,7 +199,9 @@ struct tagVARIANT {
IUnknown *punkVal; IUnknown *punkVal;
IDispatch *pdispVal; IDispatch *pdispVal;
SAFEARRAY *parray; SAFEARRAY *parray;
CHAR *pcVal; LONGLONG llVal;
ULONGLONG ullVal;
signed char *pcVal;
USHORT *puiVal; USHORT *puiVal;
ULONG *pulVal; ULONG *pulVal;
INT *pintVal; INT *pintVal;
...@@ -218,6 +222,8 @@ struct tagVARIANT { ...@@ -218,6 +222,8 @@ struct tagVARIANT {
IUnknown **ppunkVal; IUnknown **ppunkVal;
IDispatch **ppdispVal; IDispatch **ppdispVal;
SAFEARRAY **pparray; SAFEARRAY **pparray;
LONGLONG *pllVal;
ULONGLONG *pullVal;
struct __tagBRECORD { struct __tagBRECORD {
PVOID pvRecord; PVOID pvRecord;
IRecordInfo *pRecInfo; IRecordInfo *pRecInfo;
...@@ -249,7 +255,7 @@ struct _wireVARIANT { ...@@ -249,7 +255,7 @@ struct _wireVARIANT {
USHORT wReserved2; USHORT wReserved2;
USHORT wReserved3; USHORT wReserved3;
union { union {
CHAR cVal; signed char cVal;
USHORT uiVal; USHORT uiVal;
ULONG ulVal; ULONG ulVal;
INT intVal; INT intVal;
...@@ -268,7 +274,7 @@ struct _wireVARIANT { ...@@ -268,7 +274,7 @@ struct _wireVARIANT {
IUnknown *punkVal; IUnknown *punkVal;
IDispatch *pdispVal; IDispatch *pdispVal;
wireSAFEARRAY parray; wireSAFEARRAY parray;
CHAR *pcVal; signed char *pcVal;
USHORT *puiVal; USHORT *puiVal;
ULONG *pulVal; ULONG *pulVal;
INT *pintVal; INT *pintVal;
......
...@@ -135,7 +135,8 @@ const USHORT FADF_DISPATCH = 0x0400; ...@@ -135,7 +135,8 @@ const USHORT FADF_DISPATCH = 0x0400;
const USHORT FADF_VARIANT = 0x0800; const USHORT FADF_VARIANT = 0x0800;
const USHORT FADF_RESERVED = 0xF008; const USHORT FADF_RESERVED = 0xF008;
/* Undocumented flags */ /* Undocumented flags */
const USHORT FADF_CREATEVECTOR = 0x2000; /* set when the safe array is created using SafeArrayCreateVector */ const USHORT FADF_DATADELETED = 0x1000; /* Data in a vector has been deleted */
const USHORT FADF_CREATEVECTOR = 0x2000; /* This array is a vector */
/* Variant */ /* Variant */
...@@ -163,7 +164,7 @@ struct tagVARIANT { ...@@ -163,7 +164,7 @@ struct tagVARIANT {
WORD wReserved2; WORD wReserved2;
WORD wReserved3; WORD wReserved3;
union { union {
CHAR cVal; signed char cVal;
USHORT uiVal; USHORT uiVal;
ULONG ulVal; ULONG ulVal;
INT intVal; INT intVal;
...@@ -184,7 +185,9 @@ struct tagVARIANT { ...@@ -184,7 +185,9 @@ struct tagVARIANT {
IUnknown *punkVal; IUnknown *punkVal;
IDispatch *pdispVal; IDispatch *pdispVal;
SAFEARRAY *parray; SAFEARRAY *parray;
CHAR *pcVal; LONGLONG llVal;
ULONGLONG ullVal;
signed char *pcVal;
USHORT *puiVal; USHORT *puiVal;
ULONG *pulVal; ULONG *pulVal;
INT *pintVal; INT *pintVal;
...@@ -208,6 +211,8 @@ struct tagVARIANT { ...@@ -208,6 +211,8 @@ struct tagVARIANT {
IUnknown **ppunkVal; IUnknown **ppunkVal;
IDispatch **ppdispVal; IDispatch **ppdispVal;
SAFEARRAY **pparray; SAFEARRAY **pparray;
LONGLONG *pllVal;
ULONGLONG *pullVal;
struct __tagBRECORD { struct __tagBRECORD {
PVOID pvRecord; PVOID pvRecord;
IRecordInfo *pRecInfo; IRecordInfo *pRecInfo;
...@@ -239,7 +244,7 @@ struct _wireVARIANT { ...@@ -239,7 +244,7 @@ struct _wireVARIANT {
USHORT wReserved3; USHORT wReserved3;
[switch_is(vt)] union { [switch_is(vt)] union {
[case(VT_EMPTY, VT_NULL)] ; [case(VT_EMPTY, VT_NULL)] ;
[case(VT_I1)] CHAR cVal; [case(VT_I1)] signed char cVal;
[case(VT_UI2)] USHORT uiVal; [case(VT_UI2)] USHORT uiVal;
[case(VT_UI4)] ULONG ulVal; [case(VT_UI4)] ULONG ulVal;
[case(VT_INT)] INT intVal; [case(VT_INT)] INT intVal;
...@@ -258,7 +263,7 @@ struct _wireVARIANT { ...@@ -258,7 +263,7 @@ struct _wireVARIANT {
[case(VT_UNKNOWN)] IUnknown *punkVal; [case(VT_UNKNOWN)] IUnknown *punkVal;
[case(VT_DISPATCH)] IDispatch *pdispVal; [case(VT_DISPATCH)] IDispatch *pdispVal;
[case(VT_ARRAY)] wireSAFEARRAY parray; [case(VT_ARRAY)] wireSAFEARRAY parray;
[case(VT_I1|VT_BYREF)] CHAR *pcVal; [case(VT_I1|VT_BYREF)] signed char *pcVal;
[case(VT_UI2|VT_BYREF)] USHORT *puiVal; [case(VT_UI2|VT_BYREF)] USHORT *puiVal;
[case(VT_UI4|VT_BYREF)] ULONG *pulVal; [case(VT_UI4|VT_BYREF)] ULONG *pulVal;
[case(VT_INT|VT_BYREF)] INT *pintVal; [case(VT_INT|VT_BYREF)] INT *pintVal;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment