diff options
Diffstat (limited to 'ext/dom')
-rw-r--r-- | ext/dom/comment.c | 2 | ||||
-rw-r--r-- | ext/dom/document.c | 14 | ||||
-rw-r--r-- | ext/dom/dom_iterators.c | 1 | ||||
-rw-r--r-- | ext/dom/domimplementationlist.c | 2 | ||||
-rw-r--r-- | ext/dom/node.c | 2 | ||||
-rw-r--r-- | ext/dom/php_dom.c | 18 | ||||
-rw-r--r-- | ext/dom/php_dom.h | 2 | ||||
-rw-r--r-- | ext/dom/xpath.c | 4 |
8 files changed, 20 insertions, 25 deletions
diff --git a/ext/dom/comment.c b/ext/dom/comment.c index 71df35b605..5587dbad30 100644 --- a/ext/dom/comment.c +++ b/ext/dom/comment.c @@ -43,7 +43,7 @@ ZEND_END_ARG_INFO(); const zend_function_entry php_dom_comment_class_functions[] = { PHP_ME(domcomment, __construct, arginfo_dom_comment_construct, ZEND_ACC_PUBLIC) - {NULL, NULL, NULL} + PHP_FE_END }; /* {{{ proto void DOMComment::__construct([string value]); */ diff --git a/ext/dom/document.c b/ext/dom/document.c index cab0aa55ce..18d652064e 100644 --- a/ext/dom/document.c +++ b/ext/dom/document.c @@ -1856,7 +1856,7 @@ static void _dom_document_schema_validate(INTERNAL_FUNCTION_PARAMETERS, int type vptr = xmlSchemaNewValidCtxt(sptr); if (!vptr) { xmlSchemaFree(sptr); - php_error(E_ERROR, "Invalid Schema Validation Context"); + zend_throw_error(NULL, "Invalid Schema Validation Context"); RETURN_FALSE; } @@ -1956,7 +1956,7 @@ static void _dom_document_relaxNG_validate(INTERNAL_FUNCTION_PARAMETERS, int typ vptr = xmlRelaxNGNewValidCtxt(sptr); if (!vptr) { xmlRelaxNGFree(sptr); - php_error(E_ERROR, "Invalid RelaxNG Validation Context"); + zend_throw_error(NULL, "Invalid RelaxNG Validation Context"); RETURN_FALSE; } @@ -2244,15 +2244,11 @@ PHP_METHOD(domdocument, registerNodeClass) if (ce == NULL || instanceof_function(ce, basece)) { DOM_GET_OBJ(docp, id, xmlDocPtr, intern); - - if (dom_set_doc_classmap(intern->document, basece, ce) == FAILURE) { - php_error_docref(NULL, E_ERROR, "Class %s could not be registered.", ZSTR_VAL(ce->name)); - } + dom_set_doc_classmap(intern->document, basece, ce); RETURN_TRUE; - } else { - php_error_docref(NULL, E_ERROR, "Class %s is not derived from %s.", ZSTR_VAL(ce->name), ZSTR_VAL(basece->name)); } - + + zend_throw_error(NULL, "Class %s is not derived from %s.", ZSTR_VAL(ce->name), ZSTR_VAL(basece->name)); RETURN_FALSE; } /* }}} */ diff --git a/ext/dom/dom_iterators.c b/ext/dom/dom_iterators.c index f08d8a4749..02f1e3c472 100644 --- a/ext/dom/dom_iterators.c +++ b/ext/dom/dom_iterators.c @@ -249,6 +249,7 @@ zend_object_iterator_funcs php_dom_iterator_funcs = { php_dom_iterator_current_data, php_dom_iterator_current_key, php_dom_iterator_move_forward, + NULL, NULL }; diff --git a/ext/dom/domimplementationlist.c b/ext/dom/domimplementationlist.c index b82483b6ce..dac673cae0 100644 --- a/ext/dom/domimplementationlist.c +++ b/ext/dom/domimplementationlist.c @@ -42,7 +42,7 @@ ZEND_END_ARG_INFO(); const zend_function_entry php_dom_domimplementationlist_class_functions[] = { PHP_FALIAS(item, dom_domimplementationlist_item, arginfo_dom_implementationlist_item) - {NULL, NULL, NULL} + PHP_FE_END }; /* {{{ attribute protos, not implemented yet */ diff --git a/ext/dom/node.c b/ext/dom/node.c index 82879da3b5..c3a7819251 100644 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@ -857,7 +857,7 @@ int dom_node_text_content_write(dom_object *obj, zval *newval) str = zval_get_string(newval); /* we have to use xmlNodeAddContent() to get the same behavior as with xmlNewText() */ xmlNodeSetContent(nodep, (xmlChar *) ""); - xmlNodeAddContent(nodep, ZSTR_VAL(str)); + xmlNodeAddContent(nodep, (xmlChar *) ZSTR_VAL(str)); zend_string_release(str); return SUCCESS; diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c index e10f209491..25d57f4ea8 100644 --- a/ext/dom/php_dom.c +++ b/ext/dom/php_dom.c @@ -206,7 +206,7 @@ static void dom_copy_doc_props(php_libxml_ref_obj *source_doc, php_libxml_ref_ob } } -int dom_set_doc_classmap(php_libxml_ref_obj *document, zend_class_entry *basece, zend_class_entry *ce) +void dom_set_doc_classmap(php_libxml_ref_obj *document, zend_class_entry *basece, zend_class_entry *ce) { dom_doc_propsptr doc_props; @@ -214,7 +214,7 @@ int dom_set_doc_classmap(php_libxml_ref_obj *document, zend_class_entry *basece, doc_props = dom_get_doc_props(document); if (doc_props->classmap == NULL) { if (ce == NULL) { - return SUCCESS; + return; } ALLOC_HASHTABLE(doc_props->classmap); zend_hash_init(doc_props->classmap, 0, NULL, NULL, 0); @@ -225,7 +225,6 @@ int dom_set_doc_classmap(php_libxml_ref_obj *document, zend_class_entry *basece, zend_hash_del(doc_props->classmap, basece->name); } } - return SUCCESS; } zend_class_entry *dom_get_doc_classmap(php_libxml_ref_obj *document, zend_class_entry *basece) @@ -286,7 +285,7 @@ PHP_DOM_EXPORT dom_object *php_dom_object_get_data(xmlNodePtr obj) /* {{{ dom_read_na */ static int dom_read_na(dom_object *obj, zval *retval) { - php_error_docref(NULL, E_ERROR, "Cannot read property"); + zend_throw_error(NULL, "Cannot read property"); return FAILURE; } /* }}} */ @@ -294,7 +293,7 @@ static int dom_read_na(dom_object *obj, zval *retval) /* {{{ dom_write_na */ static int dom_write_na(dom_object *obj, zval *newval) { - php_error_docref(NULL, E_ERROR, "Cannot write property"); + zend_throw_error(NULL, "Cannot write property"); return FAILURE; } /* }}} */ @@ -420,7 +419,7 @@ static HashTable* dom_get_debug_info_helper(zval *object, int *is_temp) /* {{{ * *std_props; zend_string *string_key; dom_prop_handler *entry; - zval object_value; + zend_string *object_str; *is_temp = 1; @@ -431,7 +430,7 @@ static HashTable* dom_get_debug_info_helper(zval *object, int *is_temp) /* {{{ * return debug_info; } - ZVAL_STRING(&object_value, "(object value omitted)"); + object_str = zend_string_init("(object value omitted)", sizeof("(object value omitted)")-1, 0); ZEND_HASH_FOREACH_STR_KEY_PTR(prop_handlers, string_key, entry) { zval value; @@ -442,13 +441,14 @@ static HashTable* dom_get_debug_info_helper(zval *object, int *is_temp) /* {{{ * if (Z_TYPE(value) == IS_OBJECT) { zval_dtor(&value); - ZVAL_COPY(&value, &object_value); + ZVAL_NEW_STR(&value, object_str); + zend_string_addref(object_str); } zend_hash_add(debug_info, string_key, &value); } ZEND_HASH_FOREACH_END(); - zval_dtor(&object_value); + zend_string_release(object_str); return debug_info; } diff --git a/ext/dom/php_dom.h b/ext/dom/php_dom.h index 76e7a87e68..30d143c351 100644 --- a/ext/dom/php_dom.h +++ b/ext/dom/php_dom.h @@ -125,7 +125,7 @@ xmlNodePtr create_notation(const xmlChar *name, const xmlChar *ExternalID, const xmlNode *php_dom_libxml_hash_iter(xmlHashTable *ht, int index); xmlNode *php_dom_libxml_notation_iter(xmlHashTable *ht, int index); zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object, int by_ref); -int dom_set_doc_classmap(php_libxml_ref_obj *document, zend_class_entry *basece, zend_class_entry *ce); +void dom_set_doc_classmap(php_libxml_ref_obj *document, zend_class_entry *basece, zend_class_entry *ce); zval *dom_nodelist_read_dimension(zval *object, zval *offset, int type, zval *rv); int dom_nodelist_has_dimension(zval *object, zval *member, int check_empty); diff --git a/ext/dom/xpath.c b/ext/dom/xpath.c index 4d7d1e2d16..068ca61bfe 100644 --- a/ext/dom/xpath.c +++ b/ext/dom/xpath.c @@ -171,7 +171,6 @@ static void dom_xpath_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, } fci.size = sizeof(fci); - fci.function_table = EG(function_table); obj = valuePop(ctxt); if (obj->stringval == NULL) { @@ -188,7 +187,6 @@ static void dom_xpath_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, ZVAL_STRING(&fci.function_name, (char *) obj->stringval); xmlXPathFreeObject(obj); - fci.symbol_table = NULL; fci.object = NULL; fci.retval = &retval; fci.no_separation = 0; @@ -474,7 +472,7 @@ static void php_xpath_eval(INTERNAL_FUNCTION_PARAMETERS, int type) /* {{{ */ break; case XPATH_NUMBER: - RETVAL_DOUBLE(xpathobjp->floatval) + RETVAL_DOUBLE(xpathobjp->floatval); break; case XPATH_STRING: |