andrei Fri Oct 13 14:52:19 2006 UTC Modified files: /ZendEngine2 zend.c zend_API.c zend_builtin_functions.c zend_execute.h zend_object_handlers.c zend_object_handlers.h zend_operators.c /php-src/ext/com_dotnet com_handlers.c /php-src/ext/simplexml simplexml.c /php-src/ext/spl spl_directory.c /php-src/ext/tidy tidy.c Log: - Add an extra parameter to the cast_object handler that can be used by various types as needed. - Use that parameter to pass a specific converter for IS_UNICODE/IS_STRING types.
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend.c?r1=1.376&r2=1.377&diff_format=u Index: ZendEngine2/zend.c diff -u ZendEngine2/zend.c:1.376 ZendEngine2/zend.c:1.377 --- ZendEngine2/zend.c:1.376 Thu Oct 5 23:24:55 2006 +++ ZendEngine2/zend.c Fri Oct 13 14:52:19 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend.c,v 1.376 2006/10/05 23:24:55 pollita Exp $ */ +/* $Id: zend.c,v 1.377 2006/10/13 14:52:19 andrei Exp $ */ #include "zend.h" #include "zend_extensions.h" @@ -315,7 +315,7 @@ { TSRMLS_FETCH(); - if(Z_OBJ_HT_P(expr)->cast_object && Z_OBJ_HANDLER_P(expr, cast_object)(expr, expr_copy, IS_STRING TSRMLS_CC) == SUCCESS) { + if(Z_OBJ_HT_P(expr)->cast_object && Z_OBJ_HANDLER_P(expr, cast_object)(expr, expr_copy, IS_STRING, NULL TSRMLS_CC) == SUCCESS) { break; } if (Z_OBJ_HANDLER_P(expr, get)) { @@ -384,7 +384,7 @@ Z_STRVAL_P(expr_copy) = estrndup("Array", Z_STRLEN_P(expr_copy)); break; case IS_OBJECT: - if(Z_OBJ_HT_P(expr)->cast_object && Z_OBJ_HANDLER_P(expr, cast_object)(expr, expr_copy, IS_STRING TSRMLS_CC) == SUCCESS) { + if(Z_OBJ_HT_P(expr)->cast_object && Z_OBJ_HANDLER_P(expr, cast_object)(expr, expr_copy, IS_STRING, ZEND_U_CONVERTER(UG(output_encoding_conv)) TSRMLS_CC) == SUCCESS) { break; } if (Z_OBJ_HANDLER_P(expr, get)) { @@ -436,7 +436,7 @@ } switch (Z_TYPE_P(expr)) { case IS_OBJECT: - if(Z_OBJ_HT_P(expr)->cast_object && Z_OBJ_HANDLER_P(expr, cast_object)(expr, expr_copy, IS_UNICODE TSRMLS_CC) == SUCCESS) { + if(Z_OBJ_HT_P(expr)->cast_object && Z_OBJ_HANDLER_P(expr, cast_object)(expr, expr_copy, IS_UNICODE, NULL TSRMLS_CC) == SUCCESS) { break; } if (Z_OBJ_HANDLER_P(expr, get)) { http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.410&r2=1.411&diff_format=u Index: ZendEngine2/zend_API.c diff -u ZendEngine2/zend_API.c:1.410 ZendEngine2/zend_API.c:1.411 --- ZendEngine2/zend_API.c:1.410 Wed Oct 11 18:37:31 2006 +++ ZendEngine2/zend_API.c Fri Oct 13 14:52:19 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_API.c,v 1.410 2006/10/11 18:37:31 andrei Exp $ */ +/* $Id: zend_API.c,v 1.411 2006/10/13 14:52:19 andrei Exp $ */ #include "zend.h" #include "zend_execute.h" @@ -271,7 +271,7 @@ { if (Z_OBJ_HANDLER_PP(arg, cast_object)) { SEPARATE_ZVAL_IF_NOT_REF(arg); - if (Z_OBJ_HANDLER_PP(arg, cast_object)(*arg, *arg, type TSRMLS_CC) == SUCCESS) { + if (Z_OBJ_HANDLER_PP(arg, cast_object)(*arg, *arg, type, NULL TSRMLS_CC) == SUCCESS) { *pl = Z_STRLEN_PP(arg); *p = Z_STRVAL_PP(arg); return SUCCESS; @@ -280,7 +280,7 @@ /* Standard PHP objects */ if (Z_OBJ_HT_PP(arg) == &std_object_handlers || !Z_OBJ_HANDLER_PP(arg, cast_object)) { SEPARATE_ZVAL_IF_NOT_REF(arg); - if (zend_std_cast_object_tostring(*arg, *arg, type TSRMLS_CC) == SUCCESS) { + if (zend_std_cast_object_tostring(*arg, *arg, type, NULL TSRMLS_CC) == SUCCESS) { *pl = Z_STRLEN_PP(arg); *p = Z_STRVAL_PP(arg); return SUCCESS; http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_builtin_functions.c?r1=1.329&r2=1.330&diff_format=u Index: ZendEngine2/zend_builtin_functions.c diff -u ZendEngine2/zend_builtin_functions.c:1.329 ZendEngine2/zend_builtin_functions.c:1.330 --- ZendEngine2/zend_builtin_functions.c:1.329 Fri Oct 6 17:11:17 2006 +++ ZendEngine2/zend_builtin_functions.c Fri Oct 13 14:52:19 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_builtin_functions.c,v 1.329 2006/10/06 17:11:17 andrei Exp $ */ +/* $Id: zend_builtin_functions.c,v 1.330 2006/10/13 14:52:19 andrei Exp $ */ #include "zend.h" #include "zend_API.h" @@ -532,7 +532,7 @@ goto repeat; } else if (Z_OBJ_HT_PP(val)->cast_object) { ALLOC_INIT_ZVAL(val_free); - if (Z_OBJ_HT_PP(val)->cast_object(*val, val_free, UG(unicode)?IS_UNICODE:IS_STRING TSRMLS_CC) == SUCCESS) { + if (Z_OBJ_HT_PP(val)->cast_object(*val, val_free, UG(unicode)?IS_UNICODE:IS_STRING, NULL TSRMLS_CC) == SUCCESS) { val = &val_free; break; } http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_execute.h?r1=1.101&r2=1.102&diff_format=u Index: ZendEngine2/zend_execute.h diff -u ZendEngine2/zend_execute.h:1.101 ZendEngine2/zend_execute.h:1.102 --- ZendEngine2/zend_execute.h:1.101 Tue Jul 18 17:52:44 2006 +++ ZendEngine2/zend_execute.h Fri Oct 13 14:52:19 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute.h,v 1.101 2006/07/18 17:52:44 andrei Exp $ */ +/* $Id: zend_execute.h,v 1.102 2006/10/13 14:52:19 andrei Exp $ */ #ifndef ZEND_EXECUTE_H #define ZEND_EXECUTE_H @@ -118,7 +118,7 @@ if (Z_OBJ_HT_P(op)->cast_object) { zval tmp; - if (Z_OBJ_HT_P(op)->cast_object(op, &tmp, IS_BOOL TSRMLS_CC) == SUCCESS) { + if (Z_OBJ_HT_P(op)->cast_object(op, &tmp, IS_BOOL, NULL TSRMLS_CC) == SUCCESS) { result = Z_LVAL(tmp); break; } http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_object_handlers.c?r1=1.176&r2=1.177&diff_format=u Index: ZendEngine2/zend_object_handlers.c diff -u ZendEngine2/zend_object_handlers.c:1.176 ZendEngine2/zend_object_handlers.c:1.177 --- ZendEngine2/zend_object_handlers.c:1.176 Tue Sep 12 11:01:31 2006 +++ ZendEngine2/zend_object_handlers.c Fri Oct 13 14:52:19 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_object_handlers.c,v 1.176 2006/09/12 11:01:31 dmitry Exp $ */ +/* $Id: zend_object_handlers.c,v 1.177 2006/10/13 14:52:19 andrei Exp $ */ #include "zend.h" #include "zend_globals.h" @@ -1091,14 +1091,20 @@ return SUCCESS; } -ZEND_API int zend_std_cast_object_tostring(zval *readobj, zval *writeobj, int type TSRMLS_DC) +ZEND_API int zend_std_cast_object_tostring(zval *readobj, zval *writeobj, int type, void *extra TSRMLS_DC) { zval *retval; zend_class_entry *ce; + UConverter *conv; switch (type) { case IS_STRING: case IS_UNICODE: + if (extra) { + conv = (UConverter *) extra; + } else { + conv = ZEND_U_CONVERTER(UG(runtime_encoding_conv)); + } ce = Z_OBJCE_P(readobj); if (ce->__tostring && (zend_call_method_with_0_params(&readobj, ce, &ce->__tostring, "__tostring", &retval) || EG(exception))) { @@ -1113,7 +1119,11 @@ INIT_PZVAL(writeobj); ZVAL_ZVAL(writeobj, retval, 1, 1); if (Z_TYPE_P(writeobj) != type) { - convert_to_explicit_type(writeobj, type); + if (type == IS_UNICODE) { + convert_to_unicode_with_converter(writeobj, conv); + } else { + convert_to_string_with_converter(writeobj, conv); + } } return SUCCESS; } else { http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_object_handlers.h?r1=1.59&r2=1.60&diff_format=u Index: ZendEngine2/zend_object_handlers.h diff -u ZendEngine2/zend_object_handlers.h:1.59 ZendEngine2/zend_object_handlers.h:1.60 --- ZendEngine2/zend_object_handlers.h:1.59 Mon Jul 24 17:51:41 2006 +++ ZendEngine2/zend_object_handlers.h Fri Oct 13 14:52:19 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_object_handlers.h,v 1.59 2006/07/24 17:51:41 helly Exp $ */ +/* $Id: zend_object_handlers.h,v 1.60 2006/10/13 14:52:19 andrei Exp $ */ #ifndef ZEND_OBJECT_HANDLERS_H #define ZEND_OBJECT_HANDLERS_H @@ -100,7 +100,7 @@ /* Cast an object to some other type */ -typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC); +typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type, void *extra TSRMLS_DC); /* updates *count to hold the number of elements present and returns SUCCESS. * Returns FAILURE if the object does not have any sense of overloaded dimensions */ @@ -143,7 +143,7 @@ ZEND_API union _zend_function *zend_std_get_constructor(zval *object TSRMLS_DC); ZEND_API struct _zend_property_info *zend_get_property_info(zend_class_entry *ce, zval *member, int silent TSRMLS_DC); -ZEND_API int zend_std_cast_object_tostring(zval *readobj, zval *writeobj, int type TSRMLS_DC); +ZEND_API int zend_std_cast_object_tostring(zval *readobj, zval *writeobj, int type, void *extra TSRMLS_DC); #define IS_ZEND_STD_OBJECT(z) (Z_TYPE(z) == IS_OBJECT && (Z_OBJ_HT((z))->get_class_entry != NULL)) http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_operators.c?r1=1.257&r2=1.258&diff_format=u Index: ZendEngine2/zend_operators.c diff -u ZendEngine2/zend_operators.c:1.257 ZendEngine2/zend_operators.c:1.258 --- ZendEngine2/zend_operators.c:1.257 Tue Oct 3 17:54:32 2006 +++ ZendEngine2/zend_operators.c Fri Oct 13 14:52:19 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_operators.c,v 1.257 2006/10/03 17:54:32 tony2001 Exp $ */ +/* $Id: zend_operators.c,v 1.258 2006/10/13 14:52:19 andrei Exp $ */ #include <ctype.h> @@ -320,7 +320,7 @@ #define convert_object_to_type(op, ctype, conv_func) \ if (Z_OBJ_HT_P(op)->cast_object) { \ zval dst; \ - if (Z_OBJ_HT_P(op)->cast_object(op, &dst, ctype TSRMLS_CC) == FAILURE) { \ + if (Z_OBJ_HT_P(op)->cast_object(op, &dst, ctype, NULL TSRMLS_CC) == FAILURE) { \ zend_error(E_RECOVERABLE_ERROR, \ "Object of class %v could not be converted to %s", Z_OBJCE_P(op)->name, \ zend_get_type_by_const(ctype)); \ @@ -493,7 +493,7 @@ ALLOC_ZVAL(org); *org = *op; - if (Z_OBJ_HT_P(op)->cast_object(org, op, IS_NULL TSRMLS_CC) == SUCCESS) { + if (Z_OBJ_HT_P(op)->cast_object(org, op, IS_NULL, NULL TSRMLS_CC) == SUCCESS) { zval_dtor(org); return; } @@ -875,7 +875,29 @@ Z_USTRLEN_P(op) = sizeof("Array")-1; break; case IS_OBJECT: { - convert_object_to_type(op, IS_UNICODE, convert_to_unicode); + if (Z_OBJ_HT_P(op)->cast_object) { + zval dst; + if (Z_OBJ_HT_P(op)->cast_object(op, &dst, IS_UNICODE, conv TSRMLS_CC) == FAILURE) { + zend_error(E_RECOVERABLE_ERROR, + "Object of class %v could not be converted to %s", Z_OBJCE_P(op)->name, + zend_get_type_by_const(IS_UNICODE)); + } else { + zval_dtor(op); + Z_TYPE_P(op) = IS_UNICODE; + op->value = dst.value; + } + } else { + if(Z_OBJ_HT_P(op)->get) { + zval *newop = Z_OBJ_HT_P(op)->get(op TSRMLS_CC); + if(Z_TYPE_P(newop) != IS_OBJECT) { + /* for safety - avoid loop */ + zval_dtor(op); + *op = *newop; + FREE_ZVAL(newop); + convert_to_string_with_converter(op, conv); + } + } + } if (Z_TYPE_P(op) == IS_UNICODE) { return; @@ -958,7 +980,29 @@ case IS_OBJECT: { TSRMLS_FETCH(); - convert_object_to_type(op, IS_STRING, convert_to_string); + if (Z_OBJ_HT_P(op)->cast_object) { + zval dst; + if (Z_OBJ_HT_P(op)->cast_object(op, &dst, IS_STRING, conv TSRMLS_CC) == FAILURE) { + zend_error(E_RECOVERABLE_ERROR, + "Object of class %v could not be converted to %s", Z_OBJCE_P(op)->name, + zend_get_type_by_const(IS_STRING)); + } else { + zval_dtor(op); + Z_TYPE_P(op) = IS_STRING; + op->value = dst.value; + } + } else { + if(Z_OBJ_HT_P(op)->get) { + zval *newop = Z_OBJ_HT_P(op)->get(op TSRMLS_CC); + if(Z_TYPE_P(newop) != IS_OBJECT) { + /* for safety - avoid loop */ + zval_dtor(op); + *op = *newop; + FREE_ZVAL(newop); + convert_to_string_with_converter(op, conv); + } + } + } if (Z_TYPE_P(op) == IS_STRING) { return; @@ -1775,7 +1819,7 @@ op1 = op1_free = Z_OBJ_HT_P(op1)->get(op1 TSRMLS_CC); } else if (!op2_obj && Z_OBJ_HT_P(op1)->cast_object) { ALLOC_INIT_ZVAL(op1_free); - if (Z_OBJ_HT_P(op1)->cast_object(op1, op1_free, Z_TYPE_P(op2) TSRMLS_CC) == FAILURE) { + if (Z_OBJ_HT_P(op1)->cast_object(op1, op1_free, Z_TYPE_P(op2), NULL TSRMLS_CC) == FAILURE) { op2_free = NULL; ZVAL_LONG(result, 1); COMPARE_RETURN_AND_FREE(SUCCESS); @@ -1799,7 +1843,7 @@ op2 = op2_free = Z_OBJ_HT_P(op2)->get(op2 TSRMLS_CC); } else if (!op1_obj && Z_OBJ_HT_P(op2)->cast_object) { ALLOC_INIT_ZVAL(op2_free); - if (Z_OBJ_HT_P(op2)->cast_object(op2, op2_free, Z_TYPE_P(op1) TSRMLS_CC) == FAILURE) { + if (Z_OBJ_HT_P(op2)->cast_object(op2, op2_free, Z_TYPE_P(op1), NULL TSRMLS_CC) == FAILURE) { ZVAL_LONG(result, -1); COMPARE_RETURN_AND_FREE(SUCCESS); } http://cvs.php.net/viewvc.cgi/php-src/ext/com_dotnet/com_handlers.c?r1=1.38&r2=1.39&diff_format=u Index: php-src/ext/com_dotnet/com_handlers.c diff -u php-src/ext/com_dotnet/com_handlers.c:1.38 php-src/ext/com_dotnet/com_handlers.c:1.39 --- php-src/ext/com_dotnet/com_handlers.c:1.38 Fri Oct 6 12:24:11 2006 +++ php-src/ext/com_dotnet/com_handlers.c Fri Oct 13 14:52:19 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: com_handlers.c,v 1.38 2006/10/06 12:24:11 edink Exp $ */ +/* $Id: com_handlers.c,v 1.39 2006/10/13 14:52:19 andrei Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -486,7 +486,7 @@ return ret; } -static int com_object_cast(zval *readobj, zval *writeobj, int type TSRMLS_DC) +static int com_object_cast(zval *readobj, zval *writeobj, int type, void *extra TSRMLS_DC) { php_com_dotnet_object *obj; VARIANT v; @@ -530,6 +530,7 @@ } if (SUCCEEDED(res)) { + /* FIXME use 'extra' here for IS_STRING/IS_UNICODE */ php_com_zval_from_variant(writeobj, &v, obj->code_page TSRMLS_CC); } @@ -539,7 +540,7 @@ return SUCCESS; } - return zend_std_cast_object_tostring(readobj, writeobj, type TSRMLS_CC); + return zend_std_cast_object_tostring(readobj, writeobj, type, extra TSRMLS_CC); } static int com_object_count(zval *object, long *count TSRMLS_DC) http://cvs.php.net/viewvc.cgi/php-src/ext/simplexml/simplexml.c?r1=1.220&r2=1.221&diff_format=u Index: php-src/ext/simplexml/simplexml.c diff -u php-src/ext/simplexml/simplexml.c:1.220 php-src/ext/simplexml/simplexml.c:1.221 --- php-src/ext/simplexml/simplexml.c:1.220 Tue Sep 19 10:38:30 2006 +++ php-src/ext/simplexml/simplexml.c Fri Oct 13 14:52:19 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: simplexml.c,v 1.220 2006/09/19 10:38:30 dmitry Exp $ */ +/* $Id: simplexml.c,v 1.221 2006/10/13 14:52:19 andrei Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1608,8 +1608,18 @@ /* {{{ cast_object() */ -static int cast_object(zval *object, int type, char *contents TSRMLS_DC) +static int cast_object(zval *object, int type, char *contents, void *extra TSRMLS_DC) { + UConverter *conv; + + if (type == IS_STRING || type == IS_UNICODE) { + if (extra) { + conv = (UConverter *) extra; + } else { + conv = ZEND_U_CONVERTER(UG(runtime_encoding_conv)); + } + } + if (contents) { ZVAL_XML_STRING(object, contents, ZSTR_DUPLICATE); } else { @@ -1620,10 +1630,10 @@ switch (type) { case IS_STRING: - convert_to_string(object); + convert_to_string_with_converter(object, conv); break; case IS_UNICODE: - convert_to_unicode(object); + convert_to_unicode_with_converter(object, conv); break; case IS_BOOL: convert_to_boolean(object); @@ -1643,7 +1653,7 @@ /* {{{ sxe_object_cast() */ -static int sxe_object_cast(zval *readobj, zval *writeobj, int type TSRMLS_DC) +static int sxe_object_cast(zval *readobj, zval *writeobj, int type, void *extra TSRMLS_DC) { php_sxe_object *sxe; xmlChar *contents = NULL; @@ -1678,7 +1688,7 @@ } } - rv = cast_object(writeobj, type, (char *)contents TSRMLS_CC); + rv = cast_object(writeobj, type, (char *)contents, extra TSRMLS_CC); if (contents) { xmlFree(contents); @@ -1722,7 +1732,7 @@ MAKE_STD_ZVAL(retval); - if (sxe_object_cast(z, retval, UG(unicode)?IS_UNICODE:IS_STRING TSRMLS_CC)==FAILURE) { + if (sxe_object_cast(z, retval, UG(unicode)?IS_UNICODE:IS_STRING, NULL TSRMLS_CC)==FAILURE) { zend_error(E_ERROR, "Unable to cast node to string"); /* FIXME: Should not be fatal */ } @@ -2351,7 +2361,7 @@ { php_info_print_table_start(); php_info_print_table_header(2, "Simplexml support", "enabled"); - php_info_print_table_row(2, "Revision", "$Revision: 1.220 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.221 $"); php_info_print_table_row(2, "Schema support", #ifdef LIBXML_SCHEMAS_ENABLED "enabled"); http://cvs.php.net/viewvc.cgi/php-src/ext/spl/spl_directory.c?r1=1.100&r2=1.101&diff_format=u Index: php-src/ext/spl/spl_directory.c diff -u php-src/ext/spl/spl_directory.c:1.100 php-src/ext/spl/spl_directory.c:1.101 --- php-src/ext/spl/spl_directory.c:1.100 Fri Sep 29 13:22:43 2006 +++ php-src/ext/spl/spl_directory.c Fri Oct 13 14:52:19 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_directory.c,v 1.100 2006/09/29 13:22:43 bjori Exp $ */ +/* $Id: spl_directory.c,v 1.101 2006/10/13 14:52:19 andrei Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -1234,7 +1234,7 @@ /* }}} */ /* {{{ spl_filesystem_object_cast */ -static int spl_filesystem_object_cast(zval *readobj, zval *writeobj, int type TSRMLS_DC) +static int spl_filesystem_object_cast(zval *readobj, zval *writeobj, int type, void *extra TSRMLS_DC) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(readobj TSRMLS_CC); http://cvs.php.net/viewvc.cgi/php-src/ext/tidy/tidy.c?r1=1.103&r2=1.104&diff_format=u Index: php-src/ext/tidy/tidy.c diff -u php-src/ext/tidy/tidy.c:1.103 php-src/ext/tidy/tidy.c:1.104 --- php-src/ext/tidy/tidy.c:1.103 Sun Oct 8 13:34:24 2006 +++ php-src/ext/tidy/tidy.c Fri Oct 13 14:52:19 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: tidy.c,v 1.103 2006/10/08 13:34:24 bjori Exp $ */ +/* $Id: tidy.c,v 1.104 2006/10/13 14:52:19 andrei Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -210,8 +210,8 @@ static zend_class_entry *tidy_get_ce_node(zval * TSRMLS_DC); static zend_class_entry *tidy_get_ce_doc(zval * TSRMLS_DC); static zval * tidy_instanciate(zend_class_entry *, zval * TSRMLS_DC); -static int tidy_doc_cast_handler(zval *, zval *, int TSRMLS_DC); -static int tidy_node_cast_handler(zval *, zval *, int TSRMLS_DC); +static int tidy_doc_cast_handler(zval *, zval *, int, void * TSRMLS_DC); +static int tidy_node_cast_handler(zval *, zval *, int, void * TSRMLS_DC); static void tidy_doc_update_properties(PHPTidyObj * TSRMLS_DC); static void tidy_add_default_properties(PHPTidyObj *, tidy_obj_type TSRMLS_DC); static void *php_tidy_get_opt_val(PHPTidyDoc *, TidyOption, TidyOptionType * TSRMLS_DC); @@ -659,7 +659,7 @@ return object; } -static int tidy_doc_cast_handler(zval *in, zval *out, int type TSRMLS_DC) +static int tidy_doc_cast_handler(zval *in, zval *out, int type, void *extra TSRMLS_DC) { TidyBuffer output = {0}; PHPTidyObj *obj; @@ -691,7 +691,7 @@ return SUCCESS; } -static int tidy_node_cast_handler(zval *in, zval *out, int type TSRMLS_DC) +static int tidy_node_cast_handler(zval *in, zval *out, int type, void *extra TSRMLS_DC) { TidyBuffer buf = {0}; PHPTidyObj *obj; @@ -1012,7 +1012,7 @@ php_info_print_table_start(); php_info_print_table_header(2, "Tidy support", "enabled"); php_info_print_table_row(2, "libTidy Release", (char *)tidyReleaseDate()); - php_info_print_table_row(2, "Extension Version", PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.103 2006/10/08 13:34:24 bjori Exp $)"); + php_info_print_table_row(2, "Extension Version", PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.104 2006/10/13 14:52:19 andrei Exp $)"); php_info_print_table_end(); DISPLAY_INI_ENTRIES();
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php