From: Sterling Hughes Date: Sun, 9 Dec 2001 01:18:20 +0000 (+0000) Subject: Align comments in xslt.c X-Git-Tag: ChangeLog~72 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c8ef634f1b4b62822af23907d865043c602567e2;p=php Align comments in xslt.c First try at fixing funny resource free'ing problems with objects, don't perform a zval seperation when we're directly saving a pointer to the SAX or Scheme handlers --- diff --git a/ext/xslt/sablot.c b/ext/xslt/sablot.c index c97b636afa..05b4c486ac 100644 --- a/ext/xslt/sablot.c +++ b/ext/xslt/sablot.c @@ -233,9 +233,6 @@ PHP_FUNCTION(xslt_set_sax_handlers) zend_hash_get_current_data(sax_handlers, (void **) &handler) == SUCCESS; zend_hash_move_forward(sax_handlers)) { - /* Allocate the handler */ - SEPARATE_ZVAL(handler); - key_type = zend_hash_get_current_key(sax_handlers, &string_key, &num_key, 0); if (key_type == HASH_KEY_IS_LONG) { convert_to_string_ex(handler); @@ -246,18 +243,21 @@ PHP_FUNCTION(xslt_set_sax_handlers) /* Document handlers (document start, document end) */ if (strcasecmp(string_key, "document") == 0) { + SEPERATE_ZVAL(handler); register_sax_handler_pair(&XSLT_SAX(handle).doc_start, &XSLT_SAX(handle).doc_end, handler); } /* Element handlers, start of an element, and end of an element */ else if (strcasecmp(string_key, "element") == 0) { + SEPERATE_ZVAL(handler); register_sax_handler_pair(&XSLT_SAX(handle).element_start, &XSLT_SAX(handle).element_end, handler); } /* Namespace handlers, start of a namespace, end of a namespace */ else if (strcasecmp(string_key, "namespace") == 0) { + SEPERATE_ZVAL(handler); register_sax_handler_pair(&XSLT_SAX(handle).namespace_start, &XSLT_SAX(handle).namespace_end, handler); @@ -318,8 +318,6 @@ PHP_FUNCTION(xslt_set_scheme_handlers) zend_hash_get_current_data(scheme_handlers, (void **) &handler) == SUCCESS; zend_hash_move_forward(scheme_handlers)) { - SEPARATE_ZVAL(handler); - key_type = zend_hash_get_current_key(scheme_handlers, &string_key, &num_key, 0); if (key_type == HASH_KEY_IS_LONG) { php_error(E_NOTICE, "Numerical key %d (with value %s) being ignored in xslt_set_scheme_handlers()", diff --git a/ext/xslt/xslt.c b/ext/xslt/xslt.c index 3e65d1fe88..e4025717ae 100644 --- a/ext/xslt/xslt.c +++ b/ext/xslt/xslt.c @@ -217,9 +217,9 @@ extern void xslt_call_function(char *name, zval **user_args, zval **retval) { - zval ***argv; /* Argument container, maps around for call_user_function_ex() */ - int error; /* Error container */ - int idx; /* Idx, when looping through and free'ing the arguments */ + zval ***argv; /* Argument container, maps around for call_user_function_ex() */ + int error; /* Error container */ + int idx; /* Idx, when looping through and free'ing the arguments */ TSRMLS_FETCH(); /* For TS mode, fetch the executor globals */ argv = emalloc(argc * sizeof(zval **));