rrichards Sun Feb 15 09:05:18 2004 EDT
Modified files:
/php-src/ext/dom node.c element.c
Log:
switch to zend_parse_method_parameters for consistancy
insure object parameters are correct class types
convert zvals to correct type if needed for property writes
http://cvs.php.net/diff.php/php-src/ext/dom/node.c?r1=1.22&r2=1.23&ty=u
Index: php-src/ext/dom/node.c
diff -u php-src/ext/dom/node.c:1.22 php-src/ext/dom/node.c:1.23
--- php-src/ext/dom/node.c:1.22 Thu Jan 8 03:15:17 2004
+++ php-src/ext/dom/node.c Sun Feb 15 09:05:17 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: node.c,v 1.22 2004/01/08 08:15:17 andi Exp $ */
+/* $Id: node.c,v 1.23 2004/02/15 14:05:17 rrichards Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -205,6 +205,7 @@
int dom_node_node_value_write(dom_object *obj, zval *newval TSRMLS_DC)
{
xmlNode *nodep;
+ zval value_copy;
nodep = dom_object_get_node(obj);
@@ -219,8 +220,18 @@
case XML_COMMENT_NODE:
case XML_CDATA_SECTION_NODE:
case XML_PI_NODE:
- convert_to_string(newval);
+ if (newval->type != IS_STRING) {
+ if(newval->refcount > 1) {
+ value_copy = *newval;
+ zval_copy_ctor(&value_copy);
+ newval = &value_copy;
+ }
+ convert_to_string(newval);
+ }
xmlNodeSetContentLen(nodep, Z_STRVAL_P(newval),
Z_STRLEN_P(newval) + 1);
+ if (newval == &value_copy) {
+ zval_dtor(newval);
+ }
break;
default:
break;
@@ -591,6 +602,7 @@
int dom_node_prefix_write(dom_object *obj, zval *newval TSRMLS_DC)
{
+ zval value_copy;
xmlNode *nodep;
xmlDocPtr doc;
xmlNsPtr ns, curns = NULL;
@@ -602,6 +614,14 @@
switch (nodep->type) {
case XML_ELEMENT_NODE:
case XML_ATTRIBUTE_NODE:
+ if (newval->type != IS_STRING) {
+ if(newval->refcount > 1) {
+ value_copy = *newval;
+ zval_copy_ctor(&value_copy);
+ newval = &value_copy;
+ }
+ convert_to_string(newval);
+ }
prefix = Z_STRVAL_P(newval);
if (nodep->ns != NULL && !xmlStrEqual(nodep->ns->prefix,
(xmlChar *)prefix)) {
strURI = (char *) nodep->ns->href;
@@ -610,7 +630,9 @@
(nodep->type == XML_ATTRIBUTE_NODE && !strcmp
(prefix, "xmlns") &&
strcmp (strURI, DOM_XMLNS_NAMESPACE)) ||
(nodep->type == XML_ATTRIBUTE_NODE && !strcmp
(nodep->name, "xmlns"))) {
-
+ if (newval == &value_copy) {
+ zval_dtor(newval);
+ }
php_dom_throw_error(NAMESPACE_ERR,
dom_get_strict_error(obj->document) TSRMLS_CC);
return FAILURE;
}
@@ -634,6 +656,9 @@
nodep->ns = curns;
}
+ if (newval == &value_copy) {
+ zval_dtor(newval);
+ }
break;
default:
break;
@@ -743,17 +768,16 @@
*/
PHP_FUNCTION(dom_node_insert_before)
{
- zval *id, *node, *ref, *rv = NULL;
+ zval *id, *node, *ref = NULL, *rv = NULL;
xmlNodePtr child, new_child, parentp, refp;
dom_object *intern, *childobj, *refpobj;
int ret, stricterror;
- DOM_GET_THIS_OBJ(parentp, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "oo!", &node, &ref) ==
FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(),
"OO|O!", &id, dom_node_class_entry, &node, dom_node_class_entry, &ref,
dom_node_class_entry) == FAILURE) {
return;
}
+ DOM_GET_OBJ(parentp, id, xmlNodePtr, intern);
DOM_GET_OBJ(child, node, xmlNodePtr, childobj);
new_child = NULL;
@@ -904,16 +928,16 @@
int ret;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OOO",
&id, dom_node_class_entry, &newnode, dom_node_class_entry, &oldnode,
dom_node_class_entry) == FAILURE) {
+ return;
+ }
+
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
if (dom_node_children_valid(nodep) == FAILURE) {
RETURN_FALSE;
}
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "oo", &newnode, &oldnode)
== FAILURE) {
- return;
- }
-
DOM_GET_OBJ(newchild, newnode, xmlNodePtr, newchildobj);
DOM_GET_OBJ(oldchild, oldnode, xmlNodePtr, oldchildobj);
@@ -983,12 +1007,12 @@
dom_object *intern, *childobj;
int ret, stricterror;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &node) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OO",
&id, dom_node_class_entry, &node, dom_node_class_entry) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (dom_node_children_valid(nodep) == FAILURE) {
RETURN_FALSE;
}
@@ -1036,12 +1060,12 @@
dom_object *intern, *childobj;
int ret, stricterror;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &node) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OO",
&id, dom_node_class_entry, &node, dom_node_class_entry) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (dom_node_children_valid(nodep) == FAILURE) {
RETURN_FALSE;
}
@@ -1136,10 +1160,12 @@
xmlNode *nodep;
dom_object *intern;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
+ 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_NO_ARGS();
-
if (dom_node_children_valid(nodep) == FAILURE) {
RETURN_FALSE;
}
@@ -1166,12 +1192,12 @@
dom_object *intern;
long recursive = 0;
- DOM_GET_THIS_OBJ(n, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &recursive) ==
FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|l",
&id, dom_node_class_entry, &recursive) == FAILURE) {
return;
}
+ DOM_GET_OBJ(n, id, xmlNodePtr, intern);
+
node = xmlDocCopyNode(n, n->doc, recursive);
/* When deep is false Element nodes still require the attributes
@@ -1222,9 +1248,11 @@
xmlNode *nodep;
dom_object *intern;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O",
&id, dom_node_class_entry) == FAILURE) {
+ return;
+ }
- DOM_NO_ARGS();
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
dom_normalize(nodep TSRMLS_CC);
@@ -1238,10 +1266,11 @@
*/
PHP_FUNCTION(dom_node_is_supported)
{
+ zval *id;
int feature_len, version_len;
char *feature, *version;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &feature,
&feature_len, &version, &version_len) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oss",
&id, dom_node_class_entry, &feature, &feature_len, &version, &version_len) == FAILURE)
{
return;
}
@@ -1264,9 +1293,11 @@
xmlNode *nodep;
dom_object *intern;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O",
&id, dom_node_class_entry) == FAILURE) {
+ return;
+ }
- DOM_NO_ARGS();
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
if (nodep->type != XML_ELEMENT_NODE)
RETURN_FALSE;
@@ -1301,12 +1332,12 @@
xmlNodePtr nodeotherp, nodep;
dom_object *intern, *nodeotherobj;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &node) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OO",
&id, dom_node_class_entry, &node, dom_node_class_entry) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
DOM_GET_OBJ(nodeotherp, node, xmlNodePtr, nodeotherobj);
if (nodep == nodeotherp) {
@@ -1331,12 +1362,12 @@
int uri_len = 0;
char *uri;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &uri, &uri_len) ==
FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os",
&id, dom_node_class_entry, &uri, &uri_len) == FAILURE) {
return;
}
-
+
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (uri_len > 0) {
switch (nodep->type) {
case XML_ELEMENT_NODE:
@@ -1382,12 +1413,12 @@
int uri_len = 0;
char *uri;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &uri, &uri_len) ==
FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os",
&id, dom_node_class_entry, &uri, &uri_len) == FAILURE) {
return;
}
-
+
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (uri_len > 0) {
nsptr = xmlSearchNs(nodep->doc, nodep, NULL);
if (nsptr && xmlStrEqual(nsptr->href, uri)) {
@@ -1413,12 +1444,12 @@
int prefix_len = 0;
char *prefix;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &prefix,
&prefix_len) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os",
&id, dom_node_class_entry, &prefix, &prefix_len) == FAILURE) {
return;
}
-
+
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (prefix_len > 0) {
nsptr = xmlSearchNs(nodep->doc, nodep, prefix);
if (nsptr && nsptr->href != NULL) {
http://cvs.php.net/diff.php/php-src/ext/dom/element.c?r1=1.23&r2=1.24&ty=u
Index: php-src/ext/dom/element.c
diff -u php-src/ext/dom/element.c:1.23 php-src/ext/dom/element.c:1.24
--- php-src/ext/dom/element.c:1.23 Thu Jan 22 16:16:05 2004
+++ php-src/ext/dom/element.c Sun Feb 15 09:05:17 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: element.c,v 1.23 2004/01/22 21:16:05 rrichards Exp $ */
+/* $Id: element.c,v 1.24 2004/02/15 14:05:17 rrichards Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -156,13 +156,12 @@
dom_object *intern;
int name_len;
-
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) ==
FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os",
&id, dom_element_class_entry, &name, &name_len) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
value = xmlGetProp(nodep, name);
if (value == NULL) {
RETURN_EMPTY_STRING();
@@ -188,12 +187,17 @@
char *name, *value;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &name, &name_len,
&value, &value_len) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oss",
&id, dom_element_class_entry, &name, &name_len, &value, &value_len) == FAILURE) {
return;
}
+ if (name_len == 0) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attribute Name is
required");
+ RETURN_FALSE;
+ }
+
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (dom_node_is_read_only(nodep) == SUCCESS) {
php_dom_throw_error(NO_MODIFICATION_ALLOWED_ERR,
dom_get_strict_error(intern->document) TSRMLS_CC);
RETURN_FALSE;
@@ -228,12 +232,12 @@
int name_len;
char *name;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) ==
FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os",
&id, dom_element_class_entry, &name, &name_len) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (dom_node_is_read_only(nodep) == SUCCESS) {
php_dom_throw_error(NO_MODIFICATION_ALLOWED_ERR,
dom_get_strict_error(intern->document) TSRMLS_CC);
RETURN_FALSE;
@@ -271,12 +275,12 @@
dom_object *intern;
char *name;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len)
== FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os",
&id, dom_element_class_entry, &name, &name_len) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
attrp = xmlHasProp(nodep,name);
if (attrp == NULL) {
RETURN_FALSE;
@@ -299,12 +303,12 @@
dom_object *intern, *attrobj, *oldobj;
int ret;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &node) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OO",
&id, dom_element_class_entry, &node, dom_attr_class_entry) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (dom_node_is_read_only(nodep) == SUCCESS) {
php_dom_throw_error(NO_MODIFICATION_ALLOWED_ERR,
dom_get_strict_error(intern->document) TSRMLS_CC);
RETURN_FALSE;
@@ -357,12 +361,12 @@
dom_object *intern, *attrobj;
int ret;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &node) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OO",
&id, dom_element_class_entry, &node, dom_attr_class_entry) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (dom_node_is_read_only(nodep) == SUCCESS) {
php_dom_throw_error(NO_MODIFICATION_ALLOWED_ERR,
dom_get_strict_error(intern->document) TSRMLS_CC);
RETURN_FALSE;
@@ -396,12 +400,12 @@
char *name;
xmlChar *local;
- DOM_GET_THIS_OBJ(elemp, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) ==
FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os",
&id, dom_element_class_entry, &name, &name_len) == FAILURE) {
return;
}
+ DOM_GET_OBJ(elemp, id, xmlNodePtr, intern);
+
php_dom_create_interator(return_value, DOM_NODELIST TSRMLS_CC);
namednode = (dom_object *)zend_objects_get_address(return_value TSRMLS_CC);
local = xmlCharStrndup(name, name_len);
@@ -423,11 +427,12 @@
int uri_len = 0, name_len = 0;
char *uri, *name, *strattr;
- DOM_GET_THIS_OBJ(elemp, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &uri, &uri_len,
&name, &name_len) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os!s",
&id, dom_element_class_entry, &uri, &uri_len, &name, &name_len) == FAILURE) {
return;
}
+
+ DOM_GET_OBJ(elemp, id, xmlNodePtr, intern);
+
strattr = xmlGetNsProp(elemp, name, uri);
if (strattr != NULL) {
@@ -466,12 +471,17 @@
dom_object *intern;
int errorcode = 0, stricterror, is_xmlns = 0;
- DOM_GET_THIS_OBJ(elemp, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s!ss", &uri, &uri_len,
&name, &name_len, &value, &value_len) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(),
"Os!ss", &id, dom_element_class_entry, &uri, &uri_len, &name, &name_len, &value,
&value_len) == FAILURE) {
return;
}
+ if (name_len == 0) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attribute Name is
required");
+ RETURN_FALSE;
+ }
+
+ DOM_GET_OBJ(elemp, id, xmlNodePtr, intern);
+
stricterror = dom_get_strict_error(intern->document);
if (dom_node_is_read_only(elemp) == SUCCESS) {
@@ -557,12 +567,12 @@
int name_len, uri_len;
char *name, *uri;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &uri, &uri_len,
&name, &name_len) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os!s",
&id, dom_element_class_entry, &uri, &uri_len, &name, &name_len) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (dom_node_is_read_only(nodep) == SUCCESS) {
php_dom_throw_error(NO_MODIFICATION_ALLOWED_ERR,
dom_get_strict_error(intern->document) TSRMLS_CC);
RETURN_NULL();
@@ -614,12 +624,12 @@
int uri_len, name_len, ret;
char *uri, *name;
- DOM_GET_THIS_OBJ(elemp, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &uri, &uri_len,
&name, &name_len) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oss",
&id, dom_element_class_entry, &uri, &uri_len, &name, &name_len) == FAILURE) {
return;
}
+ DOM_GET_OBJ(elemp, id, xmlNodePtr, intern);
+
attrp = xmlHasNsProp(elemp, name, uri);
if (attrp == NULL) {
@@ -645,12 +655,12 @@
dom_object *intern, *attrobj, *oldobj;
int ret;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &node) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OO",
&id, dom_element_class_entry, &node, dom_attr_class_entry) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
if (dom_node_is_read_only(nodep) == SUCCESS) {
php_dom_throw_error(NO_MODIFICATION_ALLOWED_ERR,
dom_get_strict_error(intern->document) TSRMLS_CC);
RETURN_FALSE;
@@ -710,14 +720,13 @@
dom_object *intern, *namednode;
char *uri, *name;
xmlChar *local, *nsuri;
-// xmlHashTable *ht;
-
- DOM_GET_THIS_OBJ(elemp, id, xmlNodePtr, intern);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &uri, &uri_len,
&name, &name_len) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oss",
&id, dom_element_class_entry, &uri, &uri_len, &name, &name_len) == FAILURE) {
return;
}
+ DOM_GET_OBJ(elemp, id, xmlNodePtr, intern);
+
php_dom_create_interator(return_value, DOM_NODELIST TSRMLS_CC);
namednode = (dom_object *)zend_objects_get_address(return_value TSRMLS_CC);
local = xmlCharStrndup(name, name_len);
@@ -740,12 +749,12 @@
char *name, *value;
int name_len;
- DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len)
== FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os",
&id, dom_element_class_entry, &name, &name_len) == FAILURE) {
return;
}
+ DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
+
value = xmlGetProp(nodep, name);
if (value == NULL) {
RETURN_FALSE;
@@ -770,12 +779,12 @@
int uri_len, name_len;
char *uri, *name, *value;
- DOM_GET_THIS_OBJ(elemp, id, xmlNodePtr, intern);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &uri, &uri_len,
&name, &name_len) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os!s",
&id, dom_element_class_entry, &uri, &uri_len, &name, &name_len) == FAILURE) {
return;
}
+ DOM_GET_OBJ(elemp, id, xmlNodePtr, intern);
+
value = xmlGetNsProp(elemp, name, uri);
if (value != NULL) {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php