summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerick Rethans <derick@php.net>2003-05-20 13:08:05 +0000
committerDerick Rethans <derick@php.net>2003-05-20 13:08:05 +0000
commit92d5589a94e0be982e6c105e38c8c81f972ae690 (patch)
tree6a4d6e904eca5dd1cec5874057a9cb3f5f845d38
parent1e4730fb70f23d613524a3c372d466143ce4deca (diff)
downloadphp-git-92d5589a94e0be982e6c105e38c8c81f972ae690.tar.gz
- Commit broken support for sxe_properties_get
-rw-r--r--ext/simplexml/simplexml.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c
index 5b39719657..da21182e4e 100644
--- a/ext/simplexml/simplexml.c
+++ b/ext/simplexml/simplexml.c
@@ -269,7 +269,37 @@ sxe_property_delete(zval *object, zval *member TSRMLS_DC)
static HashTable *
sxe_properties_get(zval *object TSRMLS_DC)
{
- return NULL;
+ zval *return_value;
+ zval *value;
+ php_sxe_object *sxe;
+ char *name;
+ char *contents;
+ xmlNodePtr node;
+ xmlAttrPtr attr;
+ int counter = 0;
+
+ MAKE_STD_ZVAL(return_value);
+ array_init(return_value);
+
+ sxe = php_sxe_fetch_object(object TSRMLS_CC);
+
+ GET_NODE(sxe, node);
+
+ node = node->xmlChildrenNode;
+ if (!sxe->node) {
+ sxe->node = node;
+ }
+
+ while (node) {
+ MAKE_STD_ZVAL(value);
+ _node_as_zval(sxe, node, value);
+
+ add_next_index_zval(return_value, value);
+
+ node = node->next;
+ }
+
+ return return_value;
}
/* }}} */