diff options
| author | Derick Rethans <derick@php.net> | 2003-05-20 13:08:05 +0000 |
|---|---|---|
| committer | Derick Rethans <derick@php.net> | 2003-05-20 13:08:05 +0000 |
| commit | 92d5589a94e0be982e6c105e38c8c81f972ae690 (patch) | |
| tree | 6a4d6e904eca5dd1cec5874057a9cb3f5f845d38 | |
| parent | 1e4730fb70f23d613524a3c372d466143ce4deca (diff) | |
| download | php-git-92d5589a94e0be982e6c105e38c8c81f972ae690.tar.gz | |
- Commit broken support for sxe_properties_get
| -rw-r--r-- | ext/simplexml/simplexml.c | 32 |
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; } /* }}} */ |
