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
#define FADF_RESERVED (0xf008)
#define FADF_DATADELETED (0x1000)
#define FADF_CREATEVECTOR (0x2000)
#if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION)
......@@ -179,7 +181,7 @@ struct tagVARIANT {
WORD wReserved2;
WORD wReserved3;
union {
CHAR cVal;
signed char cVal;
USHORT uiVal;
ULONG ulVal;
INT intVal;
......@@ -197,7 +199,9 @@ struct tagVARIANT {
IUnknown *punkVal;
IDispatch *pdispVal;
SAFEARRAY *parray;
CHAR *pcVal;
LONGLONG llVal;
ULONGLONG ullVal;
signed char *pcVal;
USHORT *puiVal;
ULONG *pulVal;
INT *pintVal;
......@@ -218,6 +222,8 @@ struct tagVARIANT {
IUnknown **ppunkVal;
IDispatch **ppdispVal;
SAFEARRAY **pparray;
LONGLONG *pllVal;
ULONGLONG *pullVal;
struct __tagBRECORD {
PVOID pvRecord;
IRecordInfo *pRecInfo;
......@@ -249,7 +255,7 @@ struct _wireVARIANT {
USHORT wReserved2;
USHORT wReserved3;
union {
CHAR cVal;
signed char cVal;
USHORT uiVal;
ULONG ulVal;
INT intVal;
......@@ -268,7 +274,7 @@ struct _wireVARIANT {
IUnknown *punkVal;
IDispatch *pdispVal;
wireSAFEARRAY parray;
CHAR *pcVal;
signed char *pcVal;
USHORT *puiVal;
ULONG *pulVal;
INT *pintVal;
......
......@@ -135,7 +135,8 @@ const USHORT FADF_DISPATCH = 0x0400;
const USHORT FADF_VARIANT = 0x0800;
const USHORT FADF_RESERVED = 0xF008;
/* 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 */
......@@ -163,7 +164,7 @@ struct tagVARIANT {
WORD wReserved2;
WORD wReserved3;
union {
CHAR cVal;
signed char cVal;
USHORT uiVal;
ULONG ulVal;
INT intVal;
......@@ -184,7 +185,9 @@ struct tagVARIANT {
IUnknown *punkVal;
IDispatch *pdispVal;
SAFEARRAY *parray;
CHAR *pcVal;
LONGLONG llVal;
ULONGLONG ullVal;
signed char *pcVal;
USHORT *puiVal;
ULONG *pulVal;
INT *pintVal;
......@@ -208,6 +211,8 @@ struct tagVARIANT {
IUnknown **ppunkVal;
IDispatch **ppdispVal;
SAFEARRAY **pparray;
LONGLONG *pllVal;
ULONGLONG *pullVal;
struct __tagBRECORD {
PVOID pvRecord;
IRecordInfo *pRecInfo;
......@@ -239,7 +244,7 @@ struct _wireVARIANT {
USHORT wReserved3;
[switch_is(vt)] union {
[case(VT_EMPTY, VT_NULL)] ;
[case(VT_I1)] CHAR cVal;
[case(VT_I1)] signed char cVal;
[case(VT_UI2)] USHORT uiVal;
[case(VT_UI4)] ULONG ulVal;
[case(VT_INT)] INT intVal;
......@@ -258,7 +263,7 @@ struct _wireVARIANT {
[case(VT_UNKNOWN)] IUnknown *punkVal;
[case(VT_DISPATCH)] IDispatch *pdispVal;
[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_UI4|VT_BYREF)] ULONG *pulVal;
[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