I'll take a look at it and commit if it looks good. John
On Fri, 2005-07-15 at 12:09 +0200, Markus Fischer wrote: > Hi, > > attached is a patch to add the getParent() method for the tidyNode > against HEAD. > > It's just a quick patch for me. I don't know if all tidy version support > the getTidyParent function and if it's memory leak free so someone > should review it first. > > cheers, > - Markus > plain text document attachment (tidy_getParent.diff.txt) > ? tidy_getParent.diff.txt > Index: php_tidy.h > =================================================================== > RCS file: /repository/php-src/ext/tidy/php_tidy.h,v > retrieving revision 1.25 > diff -u -r1.25 php_tidy.h > --- php_tidy.h 25 Apr 2005 20:46:16 -0000 1.25 > +++ php_tidy.h 15 Jul 2005 09:59:44 -0000 > @@ -89,6 +89,7 @@ > TIDY_NODE_METHOD(isJste); > TIDY_NODE_METHOD(isAsp); > TIDY_NODE_METHOD(isPhp); > +TIDY_NODE_METHOD(getParent); > > ZEND_BEGIN_MODULE_GLOBALS(tidy) > char *default_config; > Index: tidy.c > =================================================================== > RCS file: /repository/php-src/ext/tidy/tidy.c,v > retrieving revision 1.65 > diff -u -r1.65 tidy.c > --- tidy.c 25 Apr 2005 20:46:16 -0000 1.65 > +++ tidy.c 15 Jul 2005 09:59:45 -0000 > @@ -291,6 +291,7 @@ > TIDY_NODE_ME(isJste, NULL) > TIDY_NODE_ME(isAsp, NULL) > TIDY_NODE_ME(isPhp, NULL) > + TIDY_NODE_ME(getParent, NULL) > {NULL, NULL, NULL} > }; > > @@ -1668,6 +1669,30 @@ > } > /* }}} */ > > +/* {{{ proto boolean tidyNode::getParent() > + Returns the parent node if available or NULL */ > +TIDY_NODE_METHOD(getParent) > +{ > + TidyNode parent_node; > + PHPTidyObj *newobj; > + TIDY_FETCH_ONLY_OBJECT; > + > + parent_node = tidyGetParent(obj->node); > + if(parent_node) { > + tidy_instanciate(tidy_ce_node, return_value TSRMLS_CC); > + newobj = (PHPTidyObj *) > zend_object_store_get_object(return_value TSRMLS_CC); > + newobj->node = parent_node; > + newobj->type = is_node; > + newobj->ptdoc = obj->ptdoc; > + newobj->ptdoc->ref_count++; > + tidy_add_default_properties(newobj, is_node TSRMLS_CC); > + } else { > + ZVAL_NULL(return_value); > + } > +} > +/* }}} */ > + > + > static void _php_tidy_register_nodetypes(INIT_FUNC_ARGS) > { > TIDY_NODE_CONST(ROOT, Root); > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php