summaryrefslogtreecommitdiff
path: root/ext/tidy/tidy.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tidy/tidy.c')
-rw-r--r--ext/tidy/tidy.c34
1 files changed, 20 insertions, 14 deletions
diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c
index 8621a461e..303457983 100644
--- a/ext/tidy/tidy.c
+++ b/ext/tidy/tidy.c
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: tidy.c,v 1.66.2.8.2.23 2007/05/04 17:11:05 nlopess Exp $ */
+/* $Id: tidy.c,v 1.66.2.8.2.24 2007/09/20 22:25:05 nlopess Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -870,35 +870,41 @@ static void *php_tidy_get_opt_val(PHPTidyDoc *ptdoc, TidyOption opt, TidyOptionT
return NULL;
}
-static void php_tidy_create_node(INTERNAL_FUNCTION_PARAMETERS, tidy_base_nodetypes node)
+static void php_tidy_create_node(INTERNAL_FUNCTION_PARAMETERS, tidy_base_nodetypes node_type)
{
PHPTidyObj *newobj;
+ TidyNode node;
TIDY_FETCH_OBJECT;
- tidy_instanciate(tidy_ce_node, return_value TSRMLS_CC);
- newobj = (PHPTidyObj *) zend_object_store_get_object(return_value TSRMLS_CC);
- newobj->type = is_node;
- newobj->ptdoc = obj->ptdoc;
- newobj->ptdoc->ref_count++;
-
- switch(node) {
+ switch (node_type) {
case is_root_node:
- newobj->node = tidyGetRoot(newobj->ptdoc->doc);
+ node = tidyGetRoot(obj->ptdoc->doc);
break;
case is_html_node:
- newobj->node = tidyGetHtml(newobj->ptdoc->doc);
+ node = tidyGetHtml(obj->ptdoc->doc);
break;
case is_head_node:
- newobj->node = tidyGetHead(newobj->ptdoc->doc);
+ node = tidyGetHead(obj->ptdoc->doc);
break;
case is_body_node:
- newobj->node = tidyGetBody(newobj->ptdoc->doc);
+ node = tidyGetBody(obj->ptdoc->doc);
break;
}
+ if (!node) {
+ RETURN_NULL();
+ }
+
+ tidy_instanciate(tidy_ce_node, return_value TSRMLS_CC);
+ newobj = (PHPTidyObj *) zend_object_store_get_object(return_value TSRMLS_CC);
+ newobj->type = is_node;
+ newobj->ptdoc = obj->ptdoc;
+ newobj->node = node;
+ newobj->ptdoc->ref_count++;
+
tidy_add_default_properties(newobj, is_node TSRMLS_CC);
}
@@ -992,7 +998,7 @@ static PHP_MINFO_FUNCTION(tidy)
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.66.2.8.2.23 2007/05/04 17:11:05 nlopess Exp $)");
+ php_info_print_table_row(2, "Extension Version", PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.66.2.8.2.24 2007/09/20 22:25:05 nlopess Exp $)");
php_info_print_table_end();
DISPLAY_INI_ENTRIES();