[PHP-CVS] cvs: php-src(PHP_5_2) /ext/dom node.c
sebastian Tue Jan 29 15:23:25 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/domnode.c Log: MFH: Add Reflection API metadata for DOMNode. http://cvs.php.net/viewvc.cgi/php-src/ext/dom/node.c?r1=1.37.2.3.2.9r2=1.37.2.3.2.10diff_format=u Index: php-src/ext/dom/node.c diff -u php-src/ext/dom/node.c:1.37.2.3.2.9 php-src/ext/dom/node.c:1.37.2.3.2.10 --- php-src/ext/dom/node.c:1.37.2.3.2.9 Mon Dec 31 07:20:06 2007 +++ php-src/ext/dom/node.c Tue Jan 29 15:23:25 2008 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: node.c,v 1.37.2.3.2.9 2007/12/31 07:20:06 sebastian Exp $ */ +/* $Id: node.c,v 1.37.2.3.2.10 2008/01/29 15:23:25 sebastian Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -27,6 +27,122 @@ #if HAVE_LIBXML HAVE_DOM #include php_dom.h +/* {{{ arginfo */ +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_insert_before, 0, 0, 2) + ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0) + ZEND_ARG_OBJ_INFO(0, refChild, DOMNode, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_replace_child, 0, 0, 2) + ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0) + ZEND_ARG_OBJ_INFO(0, oldChild, DOMNode, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_remove_child, 0, 0, 1) + ZEND_ARG_OBJ_INFO(0, oldChild, DOMNode, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_append_child, 0, 0, 1) + ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_has_child_nodes, 0, 0, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_clone_node, 0, 0, 1) + ZEND_ARG_INFO(0, deep) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_normalize, 0, 0, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_is_supported, 0, 0, 2) + ZEND_ARG_INFO(0, feature) + ZEND_ARG_INFO(0, version) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_has_attributes, 0, 0, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_compare_document_position, 0, 0, 1) + ZEND_ARG_OBJ_INFO(0, other, DOMNode, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_is_same_node, 0, 0, 1) + ZEND_ARG_OBJ_INFO(0, other, DOMNode, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_lookup_prefix, 0, 0, 1) + ZEND_ARG_INFO(0, namespaceURI) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_is_default_namespace, 0, 0, 1) + ZEND_ARG_INFO(0, namespaceURI) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_lookup_namespace_uri, 0, 0, 1) + ZEND_ARG_INFO(0, prefix) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_is_equal_node, 0, 0, 1) + ZEND_ARG_OBJ_INFO(0, arg, DOMNode, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_get_feature, 0, 0, 2) + ZEND_ARG_INFO(0, feature) + ZEND_ARG_INFO(0, version) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_set_user_data, 0, 0, 3) + ZEND_ARG_INFO(0, key) + ZEND_ARG_OBJ_INFO(0, data, DOMUserData, 0) + ZEND_ARG_INFO(0, handler) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_get_user_data, 0, 0, 1) + ZEND_ARG_INFO(0, key) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_getNodePath, 0, 0, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_C14N, 0, 0, 0) + ZEND_ARG_INFO(0, exclusive) + ZEND_ARG_INFO(0, with_comments) + ZEND_ARG_ARRAY_INFO(0, xpath, 0) + ZEND_ARG_ARRAY_INFO(0, ns_prefixes, 0) +ZEND_END_ARG_INFO(); + +static +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_C14NFile, 0, 0, 1) + ZEND_ARG_INFO(0, uri) + ZEND_ARG_INFO(0, exclusive) + ZEND_ARG_INFO(0, with_comments) + ZEND_ARG_ARRAY_INFO(0, xpath, 0) + ZEND_ARG_ARRAY_INFO(0, ns_prefixes, 0) +ZEND_END_ARG_INFO(); +/* }}} */ + /* * class DOMNode * @@ -35,27 +151,27 @@ */ zend_function_entry php_dom_node_class_functions[] = { - PHP_FALIAS(insertBefore, dom_node_insert_before, NULL) - PHP_FALIAS(replaceChild, dom_node_replace_child, NULL) - PHP_FALIAS(removeChild, dom_node_remove_child, NULL) - PHP_FALIAS(appendChild, dom_node_append_child, NULL) - PHP_FALIAS(hasChildNodes, dom_node_has_child_nodes, NULL) - PHP_FALIAS(cloneNode, dom_node_clone_node, NULL) - PHP_FALIAS(normalize, dom_node_normalize, NULL) - PHP_FALIAS(isSupported, dom_node_is_supported, NULL) - PHP_FALIAS(hasAttributes, dom_node_has_attributes, NULL) - PHP_FALIAS(compareDocumentPosition, dom_node_compare_document_position, NULL) - PHP_FALIAS(isSameNode, dom_node_is_same_node, NULL) -
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/dom node.c
sebastian Wed Jan 30 06:48:20 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/domnode.c Log: MFH: Fix arginfo. http://cvs.php.net/viewvc.cgi/php-src/ext/dom/node.c?r1=1.37.2.3.2.10r2=1.37.2.3.2.11diff_format=u Index: php-src/ext/dom/node.c diff -u php-src/ext/dom/node.c:1.37.2.3.2.10 php-src/ext/dom/node.c:1.37.2.3.2.11 --- php-src/ext/dom/node.c:1.37.2.3.2.10Tue Jan 29 15:23:25 2008 +++ php-src/ext/dom/node.c Wed Jan 30 06:48:20 2008 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: node.c,v 1.37.2.3.2.10 2008/01/29 15:23:25 sebastian Exp $ */ +/* $Id: node.c,v 1.37.2.3.2.11 2008/01/30 06:48:20 sebastian Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -29,9 +29,9 @@ /* {{{ arginfo */ static -ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_insert_before, 0, 0, 2) +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_insert_before, 0, 0, 1) ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0) - ZEND_ARG_OBJ_INFO(0, refChild, DOMNode, 0) + ZEND_ARG_OBJ_INFO(0, refChild, DOMNode, 1) ZEND_END_ARG_INFO(); static @@ -129,8 +129,8 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_C14N, 0, 0, 0) ZEND_ARG_INFO(0, exclusive) ZEND_ARG_INFO(0, with_comments) - ZEND_ARG_ARRAY_INFO(0, xpath, 0) - ZEND_ARG_ARRAY_INFO(0, ns_prefixes, 0) + ZEND_ARG_ARRAY_INFO(0, xpath, 1) + ZEND_ARG_ARRAY_INFO(0, ns_prefixes, 1) ZEND_END_ARG_INFO(); static @@ -138,8 +138,8 @@ ZEND_ARG_INFO(0, uri) ZEND_ARG_INFO(0, exclusive) ZEND_ARG_INFO(0, with_comments) - ZEND_ARG_ARRAY_INFO(0, xpath, 0) - ZEND_ARG_ARRAY_INFO(0, ns_prefixes, 0) + ZEND_ARG_ARRAY_INFO(0, xpath, 1) + ZEND_ARG_ARRAY_INFO(0, ns_prefixes, 1) ZEND_END_ARG_INFO(); /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/dom node.c /ext/dom/tests bug40836.phpt
rrichards Sun Mar 18 21:31:05 2007 UTC Added files: (Branch: PHP_5_2) /php-src/ext/dom/tests bug40836.phpt Modified files: /php-src/ext/domnode.c Log: MFH: fix bug #40836 (Segfault in ext/dom) add test http://cvs.php.net/viewvc.cgi/php-src/ext/dom/node.c?r1=1.37.2.3.2.6r2=1.37.2.3.2.7diff_format=u Index: php-src/ext/dom/node.c diff -u php-src/ext/dom/node.c:1.37.2.3.2.6 php-src/ext/dom/node.c:1.37.2.3.2.7 --- php-src/ext/dom/node.c:1.37.2.3.2.6 Mon Jan 1 09:36:00 2007 +++ php-src/ext/dom/node.c Sun Mar 18 21:31:04 2007 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: node.c,v 1.37.2.3.2.6 2007/01/01 09:36:00 sebastian Exp $ */ +/* $Id: node.c,v 1.37.2.3.2.7 2007/03/18 21:31:04 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -1012,7 +1012,7 @@ new_child = xmlAddPrevSibling(refp, child); } } else { - if (child-parent == parentp){ + if (child-parent != NULL){ xmlUnlinkNode(child); } if (child-type == XML_TEXT_NODE parentp-last != NULL parentp-last-type == XML_TEXT_NODE) { http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/bug40836.phpt?view=markuprev=1.1 Index: php-src/ext/dom/tests/bug40836.phpt +++ php-src/ext/dom/tests/bug40836.phpt --TEST-- Bug # 40836 (Segfault in insertBefore) --SKIPIF-- ?php require_once('skipif.inc'); ? --FILE-- ?php $dom = new DOMDocument(1.0, UTF-8); $dom-preserveWhiteSpace = false; $xml = (binary)'?xml version=1.0 encoding=utf-8? feed xmlns=http://www.w3.org/2005/Atom; entry xmlns=http://www.w3.org/2005/Atom; updated2007-02-14T00:00:00+01:00/updated content div xmlns=http://www.w3.org/1999/xhtml; pparagraph/p /div /content /entry /feed'; $dom-loadXML($xml); $entry = $dom-getElementsByTagNameNS(http://www.w3.org/2005/Atom;, entry)-item(0); $contentNode = $entry-getElementsByTagName(content)-item(0)-firstChild; $dateNode = $entry-getElementsByTagName(updated)-item(0)-firstChild; $contentNode-firstChild-insertBefore($dateNode); echo $dom-saveXML(); ? --EXPECT-- ?xml version=1.0 encoding=utf-8? feed xmlns=http://www.w3.org/2005/Atom;entry xmlns=http://www.w3.org/2005/Atom;updated/contentdiv xmlns=http://www.w3.org/1999/xhtml;pparagraph2007-02-14T00:00:00+01:00/p/div/content/entry/feed -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/dom node.c
tony2001Mon Aug 7 20:23:35 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/domnode.c Log: fix types of the variables http://cvs.php.net/viewvc.cgi/php-src/ext/dom/node.c?r1=1.37.2.3.2.3r2=1.37.2.3.2.4diff_format=u Index: php-src/ext/dom/node.c diff -u php-src/ext/dom/node.c:1.37.2.3.2.3 php-src/ext/dom/node.c:1.37.2.3.2.4 --- php-src/ext/dom/node.c:1.37.2.3.2.3 Sun Jul 16 16:04:09 2006 +++ php-src/ext/dom/node.c Mon Aug 7 20:23:35 2006 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: node.c,v 1.37.2.3.2.3 2006/07/16 16:04:09 chregu Exp $ */ +/* $Id: node.c,v 1.37.2.3.2.4 2006/08/07 20:23:35 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -1682,11 +1682,11 @@ xmlDocPtr docp; xmlNodeSetPtr nodeset = NULL; dom_object *intern; - long exclusive=0, with_comments=0, file_len=0; + zend_bool exclusive=0, with_comments=0; xmlChar **inclusive_ns_prefixes = NULL; char *file = NULL; -int ret = -1; -xmlOutputBufferPtr buf; + int ret = -1, file_len = 0; + xmlOutputBufferPtr buf; xmlXPathContextPtr ctxp=NULL; xmlXPathObjectPtr xpathobjp=NULL; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/dom node.c
chregu Sun Jul 16 16:04:09 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/domnode.c Log: improved code (after suggestion by helly) http://cvs.php.net/viewvc.cgi/php-src/ext/dom/node.c?r1=1.37.2.3.2.2r2=1.37.2.3.2.3diff_format=u Index: php-src/ext/dom/node.c diff -u php-src/ext/dom/node.c:1.37.2.3.2.2 php-src/ext/dom/node.c:1.37.2.3.2.3 --- php-src/ext/dom/node.c:1.37.2.3.2.2 Sun Jul 16 15:03:53 2006 +++ php-src/ext/dom/node.c Sun Jul 16 16:04:09 2006 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: node.c,v 1.37.2.3.2.2 2006/07/16 15:03:53 chregu Exp $ */ +/* $Id: node.c,v 1.37.2.3.2.3 2006/07/16 16:04:09 chregu Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -1870,15 +1870,12 @@ char *value; - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), O, id, dom_node_class_entry) == FAILURE) { - return; - } - - DOM_GET_OBJ(nodep, id, xmlNodePtr, intern); + + DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern); value = xmlGetNodePath(nodep); if (value == NULL) { - RETURN_EMPTY_STRING(); + RETURN_NULL(); } else { RETVAL_STRING(value, 1); xmlFree(value); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php