thies Thu Feb 15 05:41:05 2001 EDT Modified files: /php4/ext/xml xml.c Log: fixed SEGFAULT when using xml_set_object. Zend does not yes support cyclic references! Index: php4/ext/xml/xml.c diff -u php4/ext/xml/xml.c:1.71 php4/ext/xml/xml.c:1.72 --- php4/ext/xml/xml.c:1.71 Fri Jan 5 10:09:43 2001 +++ php4/ext/xml/xml.c Thu Feb 15 05:41:04 2001 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: xml.c,v 1.71 2001/01/05 18:09:43 dbeu Exp $ */ +/* $Id: xml.c,v 1.72 2001/02/15 13:41:04 thies Exp $ */ #define IS_EXT_MODULE #include "php.h" @@ -294,9 +294,11 @@ { xml_parser *parser = (xml_parser *)rsrc->ptr; - if (parser->object) { + /* please leave this commented - or ask [EMAIL PROTECTED] before doing it +(again) + if (parser->object) { zval_del_ref(&parser->object); } + */ if (parser->parser) { XML_ParserFree(parser->parser); @@ -1175,19 +1177,19 @@ RETURN_FALSE; } - if (! ParameterPassedByReference(ht,2)) { - php_error(E_WARNING,"arg 2 not passed by reference"); - RETURN_FALSE; - } - ZEND_FETCH_RESOURCE(parser,xml_parser *,pind, -1, "XML Parser", le_xml_parser); - if (parser->object) { + /* please leave this commented - or ask [EMAIL PROTECTED] before doing it +(again) + if (parser->object) { zval_del_ref(&parser->object); } + */ parser->object = *mythis; - zval_add_ref(&parser->object); + + /* please leave this commented - or ask [EMAIL PROTECTED] before doing it +(again) + zval_add_ref(&parser->object); + */ RETVAL_TRUE; } @@ -1405,19 +1407,10 @@ argc = ZEND_NUM_ARGS(); if (zend_get_parameters_ex(4, &pind, &data, &xdata,&info) == SUCCESS) { - if (!ParameterPassedByReference(ht, 4)) { - php_error(E_WARNING, "Array to be filled with values must be passed by reference."); - RETURN_FALSE; - } zval_dtor(*info); array_init(*info); } else if (zend_get_parameters_ex(3, &pind, &data, &xdata) == FAILURE) { WRONG_PARAM_COUNT; - } - - if (!ParameterPassedByReference(ht, 3)) { - php_error(E_WARNING, "Array to be filled with values must be passed by reference."); - RETURN_FALSE; } ZEND_FETCH_RESOURCE(parser,xml_parser *, pind, -1, "XML Parser", le_xml_parser); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]