version 1.1.1.1, 2012/02/21 23:48:01
|
version 1.1.1.2, 2012/05/29 12:34:42
|
Line 389 static zval * sxe_prop_dim_read(zval *object, zval *me
|
Line 389 static zval * sxe_prop_dim_read(zval *object, zval *me
|
|
|
/* {{{ sxe_property_read() |
/* {{{ sxe_property_read() |
*/ |
*/ |
static zval * sxe_property_read(zval *object, zval *member, int type TSRMLS_DC) | static zval * sxe_property_read(zval *object, zval *member, int type, const zend_literal *key TSRMLS_DC) |
{ |
{ |
return sxe_prop_dim_read(object, member, 1, 0, type TSRMLS_CC); |
return sxe_prop_dim_read(object, member, 1, 0, type TSRMLS_CC); |
} |
} |
Line 680 next_iter:
|
Line 680 next_iter:
|
|
|
/* {{{ sxe_property_write() |
/* {{{ sxe_property_write() |
*/ |
*/ |
static void sxe_property_write(zval *object, zval *member, zval *value TSRMLS_DC) | static void sxe_property_write(zval *object, zval *member, zval *value, const zend_literal *key TSRMLS_DC) |
{ |
{ |
sxe_prop_dim_write(object, member, value, 1, 0, NULL TSRMLS_CC); |
sxe_prop_dim_write(object, member, value, 1, 0, NULL TSRMLS_CC); |
} |
} |
Line 694 static void sxe_dimension_write(zval *object, zval *of
|
Line 694 static void sxe_dimension_write(zval *object, zval *of
|
} |
} |
/* }}} */ |
/* }}} */ |
|
|
static zval** sxe_property_get_adr(zval *object, zval *member TSRMLS_DC) /* {{{ */ | static zval** sxe_property_get_adr(zval *object, zval *member, const zend_literal *key TSRMLS_DC) /* {{{ */ |
{ |
{ |
php_sxe_object *sxe; |
php_sxe_object *sxe; |
xmlNodePtr node; |
xmlNodePtr node; |
Line 846 static int sxe_prop_dim_exists(zval *object, zval *mem
|
Line 846 static int sxe_prop_dim_exists(zval *object, zval *mem
|
|
|
/* {{{ sxe_property_exists() |
/* {{{ sxe_property_exists() |
*/ |
*/ |
static int sxe_property_exists(zval *object, zval *member, int check_empty TSRMLS_DC) | static int sxe_property_exists(zval *object, zval *member, int check_empty, const zend_literal *key TSRMLS_DC) |
{ |
{ |
return sxe_prop_dim_exists(object, member, check_empty, 1, 0 TSRMLS_CC); |
return sxe_prop_dim_exists(object, member, check_empty, 1, 0 TSRMLS_CC); |
} |
} |
Line 971 next_iter:
|
Line 971 next_iter:
|
|
|
/* {{{ sxe_property_delete() |
/* {{{ sxe_property_delete() |
*/ |
*/ |
static void sxe_property_delete(zval *object, zval *member TSRMLS_DC) | static void sxe_property_delete(zval *object, zval *member, const zend_literal *key TSRMLS_DC) |
{ |
{ |
sxe_prop_dim_delete(object, member, 1, 0 TSRMLS_CC); |
sxe_prop_dim_delete(object, member, 1, 0 TSRMLS_CC); |
} |
} |
Line 1069 static HashTable * sxe_get_prop_hash(zval *object, int
|
Line 1069 static HashTable * sxe_get_prop_hash(zval *object, int
|
xmlAttrPtr attr; |
xmlAttrPtr attr; |
int namelen; |
int namelen; |
int test; |
int test; |
|
char use_iter; |
|
zval *iter_data; |
|
|
|
use_iter = 0; |
|
|
sxe = php_sxe_fetch_object(object TSRMLS_CC); |
sxe = php_sxe_fetch_object(object TSRMLS_CC); |
|
|
if (is_debug) { |
if (is_debug) { |
Line 1122 static HashTable * sxe_get_prop_hash(zval *object, int
|
Line 1126 static HashTable * sxe_get_prop_hash(zval *object, int
|
|
|
GET_NODE(sxe, node); |
GET_NODE(sxe, node); |
node = php_sxe_get_first_node(sxe, node TSRMLS_CC); |
node = php_sxe_get_first_node(sxe, node TSRMLS_CC); |
|
|
if (node && sxe->iter.type != SXE_ITER_ATTRLIST) { |
if (node && sxe->iter.type != SXE_ITER_ATTRLIST) { |
if (node->type == XML_ATTRIBUTE_NODE) { |
if (node->type == XML_ATTRIBUTE_NODE) { |
MAKE_STD_ZVAL(value); |
MAKE_STD_ZVAL(value); |
Line 1129 static HashTable * sxe_get_prop_hash(zval *object, int
|
Line 1134 static HashTable * sxe_get_prop_hash(zval *object, int
|
zend_hash_next_index_insert(rv, &value, sizeof(zval *), NULL); |
zend_hash_next_index_insert(rv, &value, sizeof(zval *), NULL); |
node = NULL; |
node = NULL; |
} else if (sxe->iter.type != SXE_ITER_CHILD) { |
} else if (sxe->iter.type != SXE_ITER_CHILD) { |
node = node->children; | |
| if ( !node->children || !node->parent || node->children->next || node->children->children || node->parent->children == node->parent->last ) { |
| node = node->children; |
| } else { |
| iter_data = sxe->iter.data; |
| sxe->iter.data = NULL; |
| |
| node = php_sxe_reset_iterator(sxe, 0 TSRMLS_CC); |
| |
| use_iter = 1; |
| } |
} |
} |
|
|
while (node) { |
while (node) { |
Line 1161 static HashTable * sxe_get_prop_hash(zval *object, int
|
Line 1176 static HashTable * sxe_get_prop_hash(zval *object, int
|
|
|
_get_base_node_value(sxe, node, &value, sxe->iter.nsprefix, sxe->iter.isprefix TSRMLS_CC); |
_get_base_node_value(sxe, node, &value, sxe->iter.nsprefix, sxe->iter.isprefix TSRMLS_CC); |
|
|
sxe_properties_add(rv, name, namelen, value TSRMLS_CC); | if ( use_iter ) { |
| zend_hash_next_index_insert(rv, &value, sizeof(zval *), NULL); |
| } else { |
| sxe_properties_add(rv, name, namelen, value TSRMLS_CC); |
| } |
next_iter: |
next_iter: |
node = node->next; | if ( use_iter ) { |
| node = php_sxe_iterator_fetch(sxe, node->next, 0 TSRMLS_CC); |
| } else { |
| node = node->next; |
| } |
} |
} |
} |
} |
|
|
|
if ( use_iter ) { |
|
if (sxe->iter.data) { |
|
zval_ptr_dtor(&sxe->iter.data); |
|
} |
|
sxe->iter.data = iter_data; |
|
} |
|
|
return rv; |
return rv; |
} |
} |
/* }}} */ |
/* }}} */ |
Line 1335 SXE_METHOD(asXML)
|
Line 1365 SXE_METHOD(asXML)
|
} |
} |
|
|
if (ZEND_NUM_ARGS() == 1) { |
if (ZEND_NUM_ARGS() == 1) { |
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &filename, &filename_len) == FAILURE) { | if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &filename, &filename_len) == FAILURE) { |
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
Line 2118 PHP_FUNCTION(simplexml_load_file)
|
Line 2148 PHP_FUNCTION(simplexml_load_file)
|
zend_class_entry *ce= sxe_class_entry; |
zend_class_entry *ce= sxe_class_entry; |
zend_bool isprefix = 0; |
zend_bool isprefix = 0; |
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|C!lsb", &filename, &filename_len, &ce, &options, &ns, &ns_len, &isprefix) == FAILURE) { | if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|C!lsb", &filename, &filename_len, &ce, &options, &ns, &ns_len, &isprefix) == FAILURE) { |
return; |
return; |
} |
} |
|
|
Line 2608 PHP_MINFO_FUNCTION(simplexml)
|
Line 2638 PHP_MINFO_FUNCTION(simplexml)
|
{ |
{ |
php_info_print_table_start(); |
php_info_print_table_start(); |
php_info_print_table_header(2, "Simplexml support", "enabled"); |
php_info_print_table_header(2, "Simplexml support", "enabled"); |
php_info_print_table_row(2, "Revision", "$Revision$"); | php_info_print_table_row(2, "Revision", "$Id$"); |
php_info_print_table_row(2, "Schema support", |
php_info_print_table_row(2, "Schema support", |
#ifdef LIBXML_SCHEMAS_ENABLED |
#ifdef LIBXML_SCHEMAS_ENABLED |
"enabled"); |
"enabled"); |