summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarald Radi <phanto@php.net>2001-08-13 23:24:45 +0000
committerHarald Radi <phanto@php.net>2001-08-13 23:24:45 +0000
commitbe739cf993ea0e3725151e9d5a7e96d237c0df46 (patch)
treee1b8a075f5d8cbdd7366ca28643428ea19486aaa
parent52e1ff41a7ba4dac465538392656ec2141e1e96d (diff)
downloadphp-git-be739cf993ea0e3725151e9d5a7e96d237c0df46.tar.gz
MFH - andis object model change
-rw-r--r--ext/com/com.h34
-rw-r--r--ext/rpc/com/com_wrapper.h34
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);