]> granicus.if.org Git - php/commitdiff
- Commit broken support for sxe_properties_get
authorDerick Rethans <derick@php.net>
Tue, 20 May 2003 13:08:05 +0000 (13:08 +0000)
committerDerick Rethans <derick@php.net>
Tue, 20 May 2003 13:08:05 +0000 (13:08 +0000)
ext/simplexml/simplexml.c

index 5b3971965711b3f59ddc6ea9ca9f5fb3fb094a5c..da21182e4e2a83eaafdea0988c9670e8865e184a 100644 (file)
@@ -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;
 }
 /* }}} */