summaryrefslogtreecommitdiff
path: root/ext/domxml/php_domxml.c
diff options
context:
space:
mode:
authorMarkus Fischer <mfischer@php.net>2001-12-02 12:21:50 +0000
committerMarkus Fischer <mfischer@php.net>2001-12-02 12:21:50 +0000
commit31a74b4aec6cc2ff783474d9cd733212bf4e42c9 (patch)
treeee55dbc88f329ab55da8abb4ac2ca22a8a3ce8db /ext/domxml/php_domxml.c
parent896faf0b34e3dd14215406934470588aee8daf82 (diff)
downloadphp-git-31a74b4aec6cc2ff783474d9cd733212bf4e42c9.tar.gz
- Reverted macro moving stupidity (thx to Sterling).
Diffstat (limited to 'ext/domxml/php_domxml.c')
-rw-r--r--ext/domxml/php_domxml.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/ext/domxml/php_domxml.c b/ext/domxml/php_domxml.c
index e89f70723a..6b1dbf0684 100644
--- a/ext/domxml/php_domxml.c
+++ b/ext/domxml/php_domxml.c
@@ -31,6 +31,45 @@
#define PHP_XPATH 1
#define PHP_XPTR 2
+/* General macros used by domxml */
+#define DOMXML_DOMOBJ_NEW(zval, obj, ret) if (NULL == (zval = php_domobject_new(obj, ret TSRMLS_CC))) { \
+ php_error(E_WARNING, "%s() cannot create required DOM object", \
+ get_active_function_name(TSRMLS_C)); \
+ RETURN_FALSE; \
+ }
+
+#define DOMXML_RET_ZVAL(zval) SEPARATE_ZVAL(&zval); \
+ *return_value = *zval; \
+ FREE_ZVAL(zval);
+
+#define DOMXML_RET_OBJ(zval, obj, ret) DOMXML_DOMOBJ_NEW(zval, obj, ret); \
+ DOMXML_RET_ZVAL(zval);
+
+#define DOMXML_GET_THIS(zval) if (NULL == (zval = getThis())) { \
+ php_error(E_WARNING, "%s() underlying object missing", \
+ get_active_function_name(TSRMLS_C)); \
+ RETURN_FALSE; \
+ }
+
+#define DOMXML_GET_OBJ(ret, zval, le) if (NULL == (ret = php_dom_get_object(zval, le, 0 TSRMLS_CC))) { \
+ php_error(E_WARNING, "%s() cannot fetch DOM object", \
+ get_active_function_name(TSRMLS_C)); \
+ RETURN_FALSE; \
+ }
+
+#define DOMXML_GET_THIS_OBJ(ret, zval, le) DOMXML_GET_THIS(zval); \
+ DOMXML_GET_OBJ(ret, zval, le);
+
+#define DOMXML_NO_ARGS() if (ZEND_NUM_ARGS() != 0) { \
+ php_error(E_WARNING, "%s() expects exactly 0 parameters, %d given", \
+ get_active_function_name(TSRMLS_C), ZEND_NUM_ARGS()); \
+ return; \
+ }
+
+#define DOMXML_NOT_IMPLEMENTED() php_error(E_WARNING, "%s() not yet implemented", \
+ get_active_function_name(TSRMLS_C)); \
+ return;
+
static int le_domxmldocp;
static int le_domxmldoctypep;
static int le_domxmldtdp;