diff options
Diffstat (limited to 'ext/rpc/com/com_wrapper.h')
-rw-r--r-- | ext/rpc/com/com_wrapper.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/rpc/com/com_wrapper.h b/ext/rpc/com/com_wrapper.h index 62d08c3acd..2930f86fd9 100644 --- a/ext/rpc/com/com_wrapper.h +++ b/ext/rpc/com/com_wrapper.h @@ -24,13 +24,19 @@ typedef struct comval_ { END_EXTERN_C() #define ZVAL_COM(z,o) { \ - zval *handle; \ + zval *handle = NULL; \ + ZVAL_COM_EX(z,o,handle) \ + } + +#define ZVAL_COM_EX(z,o,handle) { \ HashTable *properties; \ \ ALLOC_HASHTABLE(properties); \ zend_hash_init(properties, 0, NULL, ZVAL_PTR_DTOR, 0); \ \ - MAKE_STD_ZVAL(handle); \ + if (handle == NULL) { \ + MAKE_STD_ZVAL(handle); \ + } \ ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \ \ zval_copy_ctor(handle); \ |