diff options
author | Rob Richards <rrichards@php.net> | 2004-05-16 10:30:16 +0000 |
---|---|---|
committer | Rob Richards <rrichards@php.net> | 2004-05-16 10:30:16 +0000 |
commit | 9e3956b313ef74f0e7c4881ca39c9395036d45bb (patch) | |
tree | f14ce42a575f226ac068b10f216df59c04c32896 /ext/dom/entityreference.c | |
parent | 92c72cb8d85d9115c08f857f2237bd532848a786 (diff) | |
download | php-git-9e3956b313ef74f0e7c4881ca39c9395036d45bb.tar.gz |
constructors throw DOMException
add DOM_PHP_ERR DomException code
validate tagnames in constructors
use C style comments
update TODO
Diffstat (limited to 'ext/dom/entityreference.c')
-rw-r--r-- | ext/dom/entityreference.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/dom/entityreference.c b/ext/dom/entityreference.c index b44da01a8e..4ac617d277 100644 --- a/ext/dom/entityreference.c +++ b/ext/dom/entityreference.c @@ -50,19 +50,24 @@ PHP_METHOD(domentityreference, __construct) char *name; int name_len; + php_set_error_handling(EH_THROW, dom_domexception_class_entry TSRMLS_CC); if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &id, dom_entityreference_class_entry, &name, &name_len) == FAILURE) { + php_std_error_handling(); return; } + php_std_error_handling(); if (name_len == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Entity Reference name is required"); + php_dom_throw_error(INVALID_CHARACTER_ERR, 1 TSRMLS_CC); RETURN_FALSE; } node = xmlNewReference(NULL, name); - if (!node) + if (!node) { + php_dom_throw_error(INVALID_STATE_ERR, 1 TSRMLS_CC); RETURN_FALSE; + } intern = (dom_object *)zend_object_store_get_object(id TSRMLS_CC); if (intern != NULL) { |