]> granicus.if.org Git - php/commitdiff
Add method DomNode::getLineNo to return line number for a parsed node
authorRob Richards <rrichards@php.net>
Tue, 13 Jan 2009 18:05:41 +0000 (18:05 +0000)
committerRob Richards <rrichards@php.net>
Tue, 13 Jan 2009 18:05:41 +0000 (18:05 +0000)
ext/dom/dom_fe.h
ext/dom/node.c

index 3879b5b7c9f3dd745831a5c9db727d5bce188313..58698f0028b33d01458615c2d6c59947d1d76788 100644 (file)
@@ -168,6 +168,7 @@ PHP_FUNCTION(dom_node_get_user_data);
 PHP_METHOD(domnode, C14N);
 PHP_METHOD(domnode, C14NFile);
 PHP_METHOD(domnode, getNodePath);
+PHP_METHOD(domnode, getLineNo);
 
 /* domnodelist methods */
 PHP_FUNCTION(dom_nodelist_item);
index 1971971fc0ebf4304ca957f07e41bd83f3517c21..9a76b3c43261a6e211ef617c1bb7ecd1cad1ac7e 100644 (file)
@@ -106,6 +106,9 @@ ZEND_END_ARG_INFO();
 ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_getNodePath, 0, 0, 0)
 ZEND_END_ARG_INFO();
 
+ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_getLineNo, 0, 0, 0)
+ZEND_END_ARG_INFO();
+
 ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_C14N, 0, 0, 0)
        ZEND_ARG_INFO(0, exclusive)
        ZEND_ARG_INFO(0, with_comments)
@@ -149,6 +152,7 @@ const zend_function_entry php_dom_node_class_functions[] = { /* {{{ */
        PHP_FALIAS(setUserData, dom_node_set_user_data, arginfo_dom_node_set_user_data)
        PHP_FALIAS(getUserData, dom_node_get_user_data, arginfo_dom_node_get_user_data)
        PHP_ME(domnode, getNodePath, arginfo_dom_node_getNodePath, ZEND_ACC_PUBLIC)
+       PHP_ME(domnode, getLineNo, arginfo_dom_node_getLineNo, ZEND_ACC_PUBLIC)
        PHP_ME(domnode, C14N, arginfo_dom_node_C14N, ZEND_ACC_PUBLIC)
        PHP_ME(domnode, C14NFile, arginfo_dom_node_C14NFile, ZEND_ACC_PUBLIC)
        {NULL, NULL, NULL}
@@ -2029,6 +2033,24 @@ PHP_METHOD(domnode, getNodePath)
 }
 /* }}} */
 
+/* {{{ proto int DOMNode::getLineNo()
+   Gets line number for a node */
+PHP_METHOD(domnode, getLineNo)
+{
+       zval *id;
+       xmlNode *nodep;
+       dom_object *intern;
+       
+       if (zend_parse_parameters_none() == FAILURE) {
+               return;
+       }
+
+       DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
+
+       RETURN_LONG(xmlGetLineNo(nodep));
+}
+/* }}} */
+
 #endif
 
 /*