|
|
@ -3,15 +3,30 @@ |
|
|
|
|
|
|
|
|
#if PHP_WIN32 |
|
|
#if PHP_WIN32 |
|
|
|
|
|
|
|
|
#define ALLOC_VARIANT(v) (v) = (VARIANT *) emalloc(sizeof(VARIANT)); \ |
|
|
|
|
|
|
|
|
#define ALLOC_VARIANT(v) (v) = (VARIANT *) emalloc(sizeof(VARIANT)); \ |
|
|
VariantInit(v); |
|
|
VariantInit(v); |
|
|
|
|
|
|
|
|
#define FREE_VARIANT(v) VariantClear(v); \ |
|
|
|
|
|
|
|
|
#define FREE_VARIANT(v) VariantClear(v); \ |
|
|
efree(v); |
|
|
efree(v); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define IS_VARIANT php_VARIANT_get_le_variant() |
|
|
#define IS_VARIANT php_VARIANT_get_le_variant() |
|
|
|
|
|
|
|
|
|
|
|
#define ZVAL_VARIANT(z, v) if (V_VT(v) == VT_DISPATCH) { \ |
|
|
|
|
|
comval *obj; \ |
|
|
|
|
|
ALLOC_COM(obj); \ |
|
|
|
|
|
php_COM_set(obj, &V_DISPATCH(v), TRUE TSRMLS_CC); \ |
|
|
|
|
|
ZVAL_LONG((z), zend_list_insert(obj, IS_COM)); \ |
|
|
|
|
|
} else { \ |
|
|
|
|
|
php_variant_to_pval((v), (z), codepage TSRMLS_CC); \ |
|
|
|
|
|
FREE_VARIANT(v); \ |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#define RETVAL_VARIANT(v) ZVAL_VARIANT(return_value, (v)); |
|
|
|
|
|
#define RETURN_VARIANT(v) RETVAL_VARIANT(v) \ |
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* PHP_WIN32 */ |
|
|
#endif /* PHP_WIN32 */ |
|
|
|
|
|
|
|
|
#endif /* VARIANT_H */ |
|
|
#endif /* VARIANT_H */ |