dom_object *intern, *nodeobj;
int ret;
zend_bool recursive = 0;
+ /* See http://www.xmlsoft.org/html/libxml-tree.html#xmlDocCopyNode for meaning of values */
+ int extended_recursive;
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|b", &node, dom_node_class_entry, &recursive) == FAILURE) {
if (nodep->doc == docp) {
retnodep = nodep;
} else {
+ extended_recursive = recursive;
if ((recursive == 0) && (nodep->type == XML_ELEMENT_NODE)) {
- recursive = 2;
+ extended_recursive = 2;
}
- retnodep = xmlDocCopyNode(nodep, docp, recursive);
+ retnodep = xmlDocCopyNode(nodep, docp, extended_recursive);
if (!retnodep) {
RETURN_FALSE;
}