cvs: php4 /ext/domxml php_domxml.c php_domxml.h

From: Date: Fri, 11 Jan 2002 21:15:46 +0000
Subject: cvs: php4 /ext/domxml php_domxml.c php_domxml.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-9042@lists.php.net to get a copy of this message
jarkol Fri Jan 11 16:15:46 2002 EDT Modified files: /php4/ext/domxml php_domxml.c php_domxml.h Log: Added domxml_node_replace_node() function. Index: php4/ext/domxml/php_domxml.c diff -u php4/ext/domxml/php_domxml.c:1.96 php4/ext/domxml/php_domxml.c:1.97 --- php4/ext/domxml/php_domxml.c:1.96 Tue Jan 8 14:13:42 2002 +++ php4/ext/domxml/php_domxml.c Fri Jan 11 16:15:46 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_domxml.c,v 1.96 2002/01/08 19:13:42 jarkol Exp $ */ +/* $Id: php_domxml.c,v 1.97 2002/01/11 21:15:46 jarkol Exp $ */ /* TODO * - Support Notation Nodes @@ -269,6 +269,7 @@ PHP_FALIAS(attributes, domxml_node_attributes, NULL) PHP_FALIAS(node, domxml_node, NULL) PHP_FALIAS(unlink, domxml_node_unlink_node, NULL) + PHP_FALIAS(replace_node, domxml_node_replace_node, NULL) PHP_FALIAS(set_content, domxml_node_set_content, NULL) PHP_FALIAS(text_concat, domxml_node_text_concat, NULL) PHP_FALIAS(set_name, domxml_node_set_name, NULL) @@ -1678,6 +1679,33 @@ } DOMXML_RET_OBJ(rv, child, &ret); +} +/* }}} */ + +/* {{{ proto object domxml_node_replace_node(object domnode) + Replaces one node with another node */ +PHP_FUNCTION(domxml_node_replace_node) +{ + zval *id, *rv, *node; + xmlNodePtr repnode, nodep, new_repnode; + int ret; + + DOMXML_GET_THIS_OBJ(nodep, id, le_domxmlnodep); + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &node) == FAILURE) { + return; + } + + DOMXML_GET_OBJ(repnode, node, le_domxmlnodep); + + if (NULL == (new_repnode = xmlCopyNode(repnode, 1))) { + php_error(E_WARNING, "%s(): unable to clone node", get_active_function_name(TSRMLS_C)); + RETURN_FALSE; + } + + repnode = xmlReplaceNode(nodep, new_repnode); + + DOMXML_RET_OBJ(rv, repnode, &ret); } /* }}} */ Index: php4/ext/domxml/php_domxml.h diff -u php4/ext/domxml/php_domxml.h:1.34 php4/ext/domxml/php_domxml.h:1.35 --- php4/ext/domxml/php_domxml.h:1.34 Wed Jan 9 20:53:22 2002 +++ php4/ext/domxml/php_domxml.h Fri Jan 11 16:15:46 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_domxml.h,v 1.34 2002/01/10 01:53:22 mfischer Exp $ */ +/* $Id: php_domxml.h,v 1.35 2002/01/11 21:15:46 jarkol Exp $ */ #ifndef PHP_DOMXML_H #define PHP_DOMXML_H @@ -108,6 +108,7 @@ PHP_FUNCTION(domxml_node); PHP_FUNCTION(domxml_clone_node); PHP_FUNCTION(domxml_node_unlink_node); +PHP_FUNCTION(domxml_node_replace_node); PHP_FUNCTION(domxml_node_new_child); PHP_FUNCTION(domxml_node_set_content); PHP_FUNCTION(domxml_node_text_concat);

« previous php.cvs (#9042) next »