cvs: php4(EXPERIMENTAL) /ext/com variant.h
| From: | Harald Radi | Date: | Mon, 10 Sep 2001 10:41:01 +0000 |
| Subject: | cvs: php4(EXPERIMENTAL) /ext/com variant.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-7369@lists.php.net to get a copy of this message | ||
phanto Mon Sep 10 06:41:01 2001 EDT
Modified files: (Branch: EXPERIMENTAL)
/php4/ext/com variant.h
Log:
MFH
Index: php4/ext/com/variant.h
diff -u php4/ext/com/variant.h:1.1.2.1 php4/ext/com/variant.h:1.1.2.2
--- php4/ext/com/variant.h:1.1.2.1 Thu Jul 12 19:40:54 2001
+++ php4/ext/com/variant.h Mon Sep 10 06:41:00 2001
@@ -3,14 +3,29 @@
#if PHP_WIN32
-#define ALLOC_VARIANT(v) (v) = (VARIANT *) emalloc(sizeof(VARIANT)); \
+#define ALLOC_VARIANT(v) (v) = (VARIANT *) emalloc(sizeof(VARIANT)); \
VariantInit(v);
-#define FREE_VARIANT(v) VariantClear(v); \
+#define FREE_VARIANT(v) VariantClear(v); \
efree(v);
#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 */