#if defined(LIBXML_XPATH_ENABLED)
zend_object_value dom_xpath_objects_new(zend_class_entry *class_type TSRMLS_DC);
#endif
-void php_dom_throw_error(int error_code, zval **retval TSRMLS_DC);
+int dom_get_strict_error(dom_ref_obj *document);
+void php_dom_throw_error(int error_code, int strict_error TSRMLS_DC);
void node_free_resource(xmlNodePtr node TSRMLS_DC);
void node_list_unlink(xmlNodePtr node TSRMLS_DC);
int decrement_node_ptr(dom_object *object TSRMLS_DC);
typedef struct _dom_ref_obj {
void *ptr;
int refcount;
+ int stricterror;
} dom_ref_obj;
typedef struct _node_ptr {
#define DOM_RET_OBJ(zval, obj, ret, domobject) \
if (NULL == (zval = php_dom_create_object(obj, ret, zval, return_value, domobject TSRMLS_CC))) { \
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); \
+ php_error(E_WARNING, "Cannot create required DOM object"); \
RETURN_FALSE; \
}
#define DOM_GET_THIS(zval) \
if (NULL == (zval = getThis())) { \
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Underlying object missing"); \
+ php_error(E_WARNING, "Underlying object missing"); \
RETURN_FALSE; \
}
ALLOC_ZVAL(*retval);
if (NULL == (*retval = php_dom_create_object((xmlNodePtr) docp, &ret, NULL, *retval, obj TSRMLS_CC))) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object");
+ php_error(E_WARNING, "Cannot create required DOM object");
return FAILURE;
}
return SUCCESS;
ctxp = (xmlXPathContextPtr) intern->ptr;
if (ctxp == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid XPath Context");
+ php_error(E_WARNING, "Invalid XPath Context");
RETURN_FALSE;
}