Module: wine Branch: refs/heads/master Commit: e47b813fc6d517ed341ed7b6f75925d1cec5add0 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=e47b813fc6d517ed341ed7b6...
Author: Michael Stefaniuc mstefani@redhat.de Date: Mon Jan 16 21:32:24 2006 +0100
oleaut32: Define missing but useful VTBIT_* macros.
---
dlls/oleaut32/varformat.c | 2 +- dlls/oleaut32/variant.c | 6 +++--- dlls/oleaut32/variant.h | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/dlls/oleaut32/varformat.c b/dlls/oleaut32/varformat.c index 13458a2..29bf3a7 100644 --- a/dlls/oleaut32/varformat.c +++ b/dlls/oleaut32/varformat.c @@ -1983,7 +1983,7 @@ VARIANT_FormatString_Exit: #define NUMBER_VTBITS (VTBIT_I1|VTBIT_UI1|VTBIT_I2|VTBIT_UI2| \ VTBIT_I4|VTBIT_UI4|VTBIT_I8|VTBIT_UI8| \ VTBIT_R4|VTBIT_R8|VTBIT_CY|VTBIT_DECIMAL| \ - (1<<VT_BOOL)|(1<<VT_INT)|(1<<VT_UINT)) + VTBIT_BOOL|VTBIT_INT|VTBIT_UINT)
/********************************************************************** * VarFormatFromTokens [OLEAUT32.139] diff --git a/dlls/oleaut32/variant.c b/dlls/oleaut32/variant.c index 953595b..55b61fa 100644 --- a/dlls/oleaut32/variant.c +++ b/dlls/oleaut32/variant.c @@ -3184,7 +3184,7 @@ HRESULT WINAPI VarDiv(LPVARIANT left, LP found = TRUE; resvt = VT_DECIMAL; } - if (!found && (((1<<lvt) | (1<<rvt)) & (VTBIT_I1|VTBIT_I2|VTBIT_UI1|VTBIT_UI2|VTBIT_I4|VTBIT_UI4|(1<<VT_INT)|(1<<VT_UINT)))) { + if (!found && (((1<<lvt) | (1<<rvt)) & (VTBIT_I1|VTBIT_I2|VTBIT_UI1|VTBIT_UI2|VTBIT_I4|VTBIT_UI4|VTBIT_INT|VTBIT_UINT))) { found = TRUE; resvt = VT_I4; } @@ -3253,7 +3253,7 @@ HRESULT WINAPI VarSub(LPVARIANT left, LP lvt = V_VT(left)&VT_TYPEMASK; rvt = V_VT(right)&VT_TYPEMASK; found = FALSE;resvt = VT_VOID; - if (((1<<lvt) | (1<<rvt)) & ((1<<VT_DATE)|(1<<VT_R4)|(1<<VT_R8))) { + if (((1<<lvt) | (1<<rvt)) & (VTBIT_DATE|VTBIT_R4|VTBIT_R8)) { found = TRUE; resvt = VT_R8; } @@ -3261,7 +3261,7 @@ HRESULT WINAPI VarSub(LPVARIANT left, LP found = TRUE; resvt = VT_DECIMAL; } - if (!found && (((1<<lvt) | (1<<rvt)) & (VTBIT_I1|VTBIT_I2|VTBIT_UI1|VTBIT_UI2|VTBIT_I4|VTBIT_UI4|(1<<VT_INT)|(1<<VT_UINT)))) { + if (!found && (((1<<lvt) | (1<<rvt)) & (VTBIT_I1|VTBIT_I2|VTBIT_UI1|VTBIT_UI2|VTBIT_I4|VTBIT_UI4|VTBIT_INT|VTBIT_UINT))) { found = TRUE; resvt = VT_I4; } diff --git a/dlls/oleaut32/variant.h b/dlls/oleaut32/variant.h index 0c2acde..42c5e76 100644 --- a/dlls/oleaut32/variant.h +++ b/dlls/oleaut32/variant.h @@ -34,6 +34,20 @@ /* Get the extra flags from a variant pointer */ #define V_EXTRA_TYPE(v) (V_VT((v)) & VT_EXTRA_TYPE)
+/* Missing in Windows but usefull VTBIT_* defines */ +#define VTBIT_BOOL (1 << VT_BSTR) +#define VTBIT_BSTR (1 << VT_BSTR) +#define VTBIT_DATE (1 << VT_DATE) +#define VTBIT_DISPATCH (1 << VT_DISPATCH) +#define VTBIT_EMPTY (1 << VT_EMPTY) +#define VTBIT_ERROR (1 << VT_ERROR) +#define VTBIT_INT (1 << VT_INT) +#define VTBIT_NULL (1 << VT_NULL) +#define VTBIT_UINT (1 << VT_UINT) +#define VTBIT_UNKNOWN (1 << VT_UNKNOWN) +#define VTBIT_VARIANT (1 << VT_VARIANT) +#define VTBIT_15 (1 << 15) /* no variant type with this number */ + extern const char* wine_vtypes[]; #define debugstr_vt(v) (((v)&VT_TYPEMASK) <= VT_CLSID ? wine_vtypes[((v)&VT_TYPEMASK)] : \ ((v)&VT_TYPEMASK) == VT_BSTR_BLOB ? "VT_BSTR_BLOB": "Invalid")