diff options
author | Harald Radi <phanto@php.net> | 2001-08-13 23:24:45 +0000 |
---|---|---|
committer | Harald Radi <phanto@php.net> | 2001-08-13 23:24:45 +0000 |
commit | be739cf993ea0e3725151e9d5a7e96d237c0df46 (patch) | |
tree | e1b8a075f5d8cbdd7366ca28643428ea19486aaa | |
parent | 52e1ff41a7ba4dac465538392656ec2141e1e96d (diff) | |
download | php-git-be739cf993ea0e3725151e9d5a7e96d237c0df46.tar.gz |
MFH - andis object model change
-rw-r--r-- | ext/com/com.h | 34 | ||||
-rw-r--r-- | ext/rpc/com/com_wrapper.h | 34 |
2 files changed, 32 insertions, 36 deletions
diff --git a/ext/com/com.h b/ext/com/com.h index 1e36d3c567..99c17782df 100644 --- a/ext/com/com.h +++ b/ext/com/com.h @@ -23,29 +23,27 @@ typedef struct comval_ { END_EXTERN_C() -#define ZVAL_COM(z,o) { \ - zval *handle; \ - \ - /* OBJECTS_FIXME */ \ - Z_TYPE_P(z) = IS_OBJECT; \ - Z_OBJCE_P(z) = &COM_class_entry; \ - \ - ALLOC_HASHTABLE(Z_OBJPROP_P(z)); \ - zend_hash_init(Z_OBJPROP_P(z), 0, NULL, ZVAL_PTR_DTOR, 0); \ - \ - ALLOC_ZVAL(handle); \ - INIT_PZVAL(handle); \ - ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \ - \ - zval_copy_ctor(handle); \ - zend_hash_index_update(Z_OBJPROP_P(z), 0, &handle, sizeof(zval *), NULL); \ +#define ZVAL_COM(z,o) { \ + zval *handle; \ + HashTable *properties; \ + \ + ALLOC_HASHTABLE(properties); \ + zend_hash_init(properties, 0, NULL, ZVAL_PTR_DTOR, 0); \ + \ + ALLOC_ZVAL(handle); \ + INIT_PZVAL(handle); \ + ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \ + \ + zval_copy_ctor(handle); \ + zend_hash_index_update(properties, 0, &handle, sizeof(zval *), NULL); \ + object_and_properties_init(z, &COM_class_entry, properties); \ } #define RETVAL_COM(o) ZVAL_COM(&return_value, o); -#define RETURN_COM(o) RETVAL_COM(o) \ +#define RETURN_COM(o) RETVAL_COM(o) \ return; -#define ALLOC_COM(z) (z) = (comval *) emalloc(sizeof(comval)); \ +#define ALLOC_COM(z) (z) = (comval *) emalloc(sizeof(comval)); \ C_REFCOUNT(z) = 0; #define FREE_COM(z) efree(z); diff --git a/ext/rpc/com/com_wrapper.h b/ext/rpc/com/com_wrapper.h index 1e36d3c567..99c17782df 100644 --- a/ext/rpc/com/com_wrapper.h +++ b/ext/rpc/com/com_wrapper.h @@ -23,29 +23,27 @@ typedef struct comval_ { END_EXTERN_C() -#define ZVAL_COM(z,o) { \ - zval *handle; \ - \ - /* OBJECTS_FIXME */ \ - Z_TYPE_P(z) = IS_OBJECT; \ - Z_OBJCE_P(z) = &COM_class_entry; \ - \ - ALLOC_HASHTABLE(Z_OBJPROP_P(z)); \ - zend_hash_init(Z_OBJPROP_P(z), 0, NULL, ZVAL_PTR_DTOR, 0); \ - \ - ALLOC_ZVAL(handle); \ - INIT_PZVAL(handle); \ - ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \ - \ - zval_copy_ctor(handle); \ - zend_hash_index_update(Z_OBJPROP_P(z), 0, &handle, sizeof(zval *), NULL); \ +#define ZVAL_COM(z,o) { \ + zval *handle; \ + HashTable *properties; \ + \ + ALLOC_HASHTABLE(properties); \ + zend_hash_init(properties, 0, NULL, ZVAL_PTR_DTOR, 0); \ + \ + ALLOC_ZVAL(handle); \ + INIT_PZVAL(handle); \ + ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \ + \ + zval_copy_ctor(handle); \ + zend_hash_index_update(properties, 0, &handle, sizeof(zval *), NULL); \ + object_and_properties_init(z, &COM_class_entry, properties); \ } #define RETVAL_COM(o) ZVAL_COM(&return_value, o); -#define RETURN_COM(o) RETVAL_COM(o) \ +#define RETURN_COM(o) RETVAL_COM(o) \ return; -#define ALLOC_COM(z) (z) = (comval *) emalloc(sizeof(comval)); \ +#define ALLOC_COM(z) (z) = (comval *) emalloc(sizeof(comval)); \ C_REFCOUNT(z) = 0; #define FREE_COM(z) efree(z); |