diff options
Diffstat (limited to 'ext/dom/document.c')
| -rw-r--r-- | ext/dom/document.c | 48 |
1 files changed, 13 insertions, 35 deletions
diff --git a/ext/dom/document.c b/ext/dom/document.c index 73bc8c1c62..4029d97db9 100644 --- a/ext/dom/document.c +++ b/ext/dom/document.c @@ -240,33 +240,24 @@ readonly=yes URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-B63ED1A31 Since: */ -int dom_document_doctype_read(dom_object *obj, zval **retval TSRMLS_DC) +int dom_document_doctype_read(dom_object *obj, zval *retval TSRMLS_DC) { - xmlDoc *docp; + xmlDoc *docp = (xmlDocPtr) dom_object_get_node(obj); xmlDtdPtr dtdptr; - int ret; - - docp = (xmlDocPtr) dom_object_get_node(obj); if (docp == NULL) { php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC); return FAILURE; } - ALLOC_ZVAL(*retval); - dtdptr = xmlGetIntSubset(docp); if (!dtdptr) { - ZVAL_NULL(*retval); + ZVAL_NULL(retval); return SUCCESS; } - if (NULL == (*retval = php_dom_create_object((xmlNodePtr) dtdptr, &ret, *retval, obj TSRMLS_CC))) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); - return FAILURE; - } + php_dom_create_object((xmlNodePtr) dtdptr, retval, obj TSRMLS_CC); return SUCCESS; - } /* }}} */ @@ -276,9 +267,8 @@ readonly=yes URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1B793EBA Since: */ -int dom_document_implementation_read(dom_object *obj, zval **retval TSRMLS_DC) +int dom_document_implementation_read(dom_object *obj, zval *retval TSRMLS_DC) { - ALLOC_ZVAL(*retval); php_dom_create_implementation(retval TSRMLS_CC); return SUCCESS; } @@ -292,29 +282,21 @@ Since: */ int dom_document_document_element_read(dom_object *obj, zval **retval TSRMLS_DC) { - xmlDoc *docp; + xmlDoc *docp = (xmlDocPtr) dom_object_get_node(obj); xmlNode *root; - int ret; - - docp = (xmlDocPtr) dom_object_get_node(obj); if (docp == NULL) { php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC); return FAILURE; } - ALLOC_ZVAL(*retval); - root = xmlDocGetRootElement(docp); if (!root) { - ZVAL_NULL(*retval); + ZVAL_NULL(retval); return SUCCESS; } - if (NULL == (*retval = php_dom_create_object(root, &ret, *retval, obj TSRMLS_CC))) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); - return FAILURE; - } + php_dom_create_object(root, retval, obj TSRMLS_CC); return SUCCESS; } @@ -326,23 +308,20 @@ Since: DOM Level 3 */ int dom_document_encoding_read(dom_object *obj, zval **retval TSRMLS_DC) { - xmlDoc *docp; + xmlDoc *docp = (xmlDocPtr) dom_object_get_node(obj); char *encoding; - docp = (xmlDocPtr) dom_object_get_node(obj); - if (docp == NULL) { php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC); return FAILURE; } encoding = (char *) docp->encoding; - ALLOC_ZVAL(*retval); if (encoding != NULL) { - ZVAL_STRING(*retval, encoding, 1); + ZVAL_STRING(retval, encoding); } else { - ZVAL_NULL(*retval); + ZVAL_NULL(retval); } return SUCCESS; @@ -350,17 +329,16 @@ int dom_document_encoding_read(dom_object *obj, zval **retval TSRMLS_DC) int dom_document_encoding_write(dom_object *obj, zval *newval TSRMLS_DC) { + xmlDoc *docp = (xmlDocPtr) dom_object_get_node(obj); zval value_copy; - xmlDoc *docp; xmlCharEncodingHandlerPtr handler; - docp = (xmlDocPtr) dom_object_get_node(obj); - if (docp == NULL) { php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC); return FAILURE; } + // TODO: Stopped here if (newval->type != IS_STRING) { if(Z_REFCOUNT_P(newval) > 1) { value_copy = *newval; |
