@@ -457,7 +457,7 @@ static int sxe_prop_dim_write(zval *object, zval *member, zval *value, zend_bool
457
457
int new_value = 0 ;
458
458
long cnt = 0 ;
459
459
int retval = SUCCESS ;
460
- zval tmp_zv , trim_zv , value_copy ;
460
+ zval tmp_zv , trim_zv , zval_copy ;
461
461
462
462
sxe = Z_SXEOBJ_P (object );
463
463
@@ -535,7 +535,7 @@ static int sxe_prop_dim_write(zval *object, zval *member, zval *value, zend_bool
535
535
case IS_OBJECT :
536
536
if (Z_OBJCE_P (value ) == sxe_class_entry ) {
537
537
//???
538
- value = sxe_get_value (value , value TSRMLS_CC );
538
+ value = sxe_get_value (value , & zval_copy TSRMLS_CC );
539
539
//INIT_PZVAL(value);
540
540
new_value = 1 ;
541
541
break ;
@@ -657,9 +657,6 @@ static int sxe_prop_dim_write(zval *object, zval *member, zval *value, zend_bool
657
657
if (pnewnode ) {
658
658
* pnewnode = newnode ;
659
659
}
660
- if (value && value == & value_copy ) {
661
- zval_ptr_dtor (value );
662
- }
663
660
if (new_value ) {
664
661
zval_ptr_dtor (value );
665
662
}
@@ -816,9 +813,9 @@ static int sxe_prop_dim_exists(zval *object, zval *member, int check_empty, zend
816
813
}
817
814
if (node ) {
818
815
exists = 1 ;
819
- if (check_empty == 1 &&
816
+ if (check_empty == 1 &&
820
817
(!node -> children || (node -> children -> type == XML_TEXT_NODE && !node -> children -> next &&
821
- (!node -> children -> content || !node -> children -> content [0 ] || !xmlStrcmp (node -> children -> content , "0" )))) ) {
818
+ (!node -> children -> content || !node -> children -> content [0 ] || !xmlStrcmp (node -> children -> content , "0" )))) ) {
822
819
exists = 0 ;
823
820
}
824
821
}
0 commit comments