|
31 | 31 | * Since:
|
32 | 32 | */
|
33 | 33 |
|
34 |
| -/* {{{ length int |
35 |
| -readonly=yes |
36 |
| -URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-6D0FB19E |
37 |
| -Since: |
38 |
| -*/ |
39 |
| -int dom_namednodemap_length_read(dom_object *obj, zval *retval) |
| 34 | +static int get_namednodemap_length(dom_object *obj) |
40 | 35 | {
|
41 |
| - dom_nnodemap_object *objmap; |
42 |
| - xmlAttrPtr curnode; |
43 |
| - xmlNodePtr nodep; |
44 |
| - int count = 0; |
| 36 | + dom_nnodemap_object *objmap = (dom_nnodemap_object *) obj->ptr; |
| 37 | + if (!objmap) { |
| 38 | + return 0; |
| 39 | + } |
45 | 40 |
|
46 |
| - objmap = (dom_nnodemap_object *)obj->ptr; |
| 41 | + if (objmap->nodetype == XML_NOTATION_NODE || objmap->nodetype == XML_ENTITY_NODE) { |
| 42 | + return objmap->ht ? xmlHashSize(objmap->ht) : 0; |
| 43 | + } |
47 | 44 |
|
48 |
| - if (objmap != NULL) { |
49 |
| - if ((objmap->nodetype == XML_NOTATION_NODE) || |
50 |
| - objmap->nodetype == XML_ENTITY_NODE) { |
51 |
| - if (objmap->ht) { |
52 |
| - count = xmlHashSize(objmap->ht); |
53 |
| - } |
54 |
| - } else { |
55 |
| - nodep = dom_object_get_node(objmap->baseobj); |
56 |
| - if (nodep) { |
57 |
| - curnode = nodep->properties; |
58 |
| - if (curnode) { |
59 |
| - count++; |
60 |
| - while (curnode->next != NULL) { |
61 |
| - count++; |
62 |
| - curnode = curnode->next; |
63 |
| - } |
64 |
| - } |
| 45 | + int count = 0; |
| 46 | + xmlNodePtr nodep = dom_object_get_node(objmap->baseobj); |
| 47 | + if (nodep) { |
| 48 | + xmlAttrPtr curnode = nodep->properties; |
| 49 | + if (curnode) { |
| 50 | + count++; |
| 51 | + while (curnode->next != NULL) { |
| 52 | + count++; |
| 53 | + curnode = curnode->next; |
65 | 54 | }
|
66 | 55 | }
|
67 | 56 | }
|
68 | 57 |
|
69 |
| - ZVAL_LONG(retval, count); |
| 58 | + return count; |
| 59 | +} |
| 60 | + |
| 61 | +/* {{{ length int |
| 62 | +readonly=yes |
| 63 | +URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-6D0FB19E |
| 64 | +Since: |
| 65 | +*/ |
| 66 | +int dom_namednodemap_length_read(dom_object *obj, zval *retval) |
| 67 | +{ |
| 68 | + ZVAL_LONG(retval, get_namednodemap_length(obj)); |
70 | 69 | return SUCCESS;
|
71 | 70 | }
|
72 | 71 |
|
@@ -255,9 +254,7 @@ PHP_METHOD(DOMNamedNodeMap, count)
|
255 | 254 | }
|
256 | 255 |
|
257 | 256 | intern = Z_DOMOBJ_P(id);
|
258 |
| - if(dom_namednodemap_length_read(intern, return_value) == FAILURE) { |
259 |
| - RETURN_FALSE; |
260 |
| - } |
| 257 | + RETURN_LONG(get_namednodemap_length(intern)); |
261 | 258 | }
|
262 | 259 | /* }}} end dom_namednodemap_count */
|
263 | 260 |
|
|
0 commit comments