Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:17276 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 16784 invoked by uid 1010); 15 Jul 2005 17:35:36 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 16752 invoked from network); 15 Jul 2005 17:35:36 -0000 Received: from unknown (HELO pb1.pair.com) (127.0.0.1) by localhost with SMTP; 15 Jul 2005 17:35:36 -0000 X-Host-Fingerprint: 69.56.217.178 unknown Linux 2.4/2.6 Received: from ([69.56.217.178:50170] helo=coggeshall.org) by pb1.pair.com (ecelerity 1.2 r(5656M)) with SMTP id 78/97-49006-2E2F7D24 for ; Fri, 15 Jul 2005 13:31:14 -0400 Received: from [192.168.1.253] (pcp0011949154pcs.mtmors01.mi.comcast.net [68.41.23.95]) (authenticated bits=0) by coggeshall.org (8.12.8/8.12.8) with ESMTP id j6FGj5LO001161 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO); Fri, 15 Jul 2005 11:45:05 -0500 To: Markus Fischer Cc: internals@lists.php.net, iliaa@php.net In-Reply-To: <42D78B4A.7080208@fischer.name> References: <42D78B4A.7080208@fischer.name> Content-Type: text/plain Date: Fri, 15 Jul 2005 13:31:09 -0400 Message-ID: <1121448669.5984.6.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.0.4 (2.0.4-4) Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [Patch] tidy node and getParent From: john@coggeshall.org (John Coggeshall) 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