summaryrefslogtreecommitdiff
path: root/Zend/zend_API.h
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>2000-01-04 13:56:17 +0000
committerThies C. Arntzen <thies@php.net>2000-01-04 13:56:17 +0000
commitaf22085c5101d9027bbb0cc8d7a780af230f267c (patch)
treecdc61e8ca1a38ee4c8b1d8789e2700ead4453ca3 /Zend/zend_API.h
parent60841f1231bfc3027d21d45791df8f84f6e4f66d (diff)
downloadphp-git-af22085c5101d9027bbb0cc8d7a780af230f267c.tar.gz
added ZVAL_*() macros.
Diffstat (limited to 'Zend/zend_API.h')
-rw-r--r--Zend/zend_API.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index ac0e4383bf..ff357ca153 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -142,6 +142,47 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length,
#define add_method(arg,key,method) add_assoc_function((arg),(key),(method))
+#define ZVAL_RESOURCE(z,l) { \
+ (z)->type = IS_RESOURCE; \
+ (z)->value.lval = l; \
+ }
+#define ZVAL_BOOL(z,b) { \
+ (z)->type = IS_BOOL; \
+ (z)->value.lval = b; \
+ }
+#define ZVAL_NULL(z) { \
+ (z)->type = IS_NULL; \
+ }
+#define ZVAL_LONG(z,l) { \
+ (z)->type = IS_LONG; \
+ (z)->value.lval = l; \
+ }
+#define ZVAL_DOUBLE(z,d) { \
+ (z)->type = IS_DOUBLE; \
+ (z)->value.dval = d; \
+ }
+#define ZVAL_STRING(z,s,duplicate) { \
+ char *__s=(s); \
+ (z)->value.str.len = strlen(__s); \
+ (z)->value.str.val = (duplicate?estrndup(__s,(z)->value.str.len):__s); \
+ (z)->type = IS_STRING; \
+ }
+#define ZVAL_STRINGL(z,s,l,duplicate) { \
+ char *__s=(s); int __l=l; \
+ (z)->value.str.len = __l; \
+ (z)->value.str.val = (duplicate?estrndup(__s,__l):__s); \
+ (z)->type = IS_STRING; \
+ }
+
+#define ZVAL_EMPTY_STRING(z) { \
+ (z)->value.str.len = 0; \
+ (z)->value.str.val = empty_string \
+ (z)->type = IS_STRING; \
+ }
+
+#define ZVAL_FALSE { (z)->value.lval = 0; (z)->type = IS_BOOL; }
+#define ZVAL_TRUE { (z)->value.lval = 1; (z)->type = IS_BOOL; }
+
#define RETVAL_RESOURCE(l) { \
return_value->type = IS_RESOURCE;\
return_value->value.lval = l; \
@@ -174,6 +215,12 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length,
return_value->type = IS_STRING; \
}
+#define RETVAL_EMPTY_STRING() { \
+ return_value->value.str.len = 0; \
+ return_value->value.str.val = empty_string \
+ return_value->type = IS_STRING; \
+ }
+
#define RETVAL_FALSE { return_value->value.lval = 0; return_value->type = IS_BOOL; }
#define RETVAL_TRUE { return_value->value.lval = 1; return_value->type = IS_BOOL; }
@@ -219,6 +266,13 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length,
return; \
}
+#define RETURN_EMPTY_STRING() { \
+ return_value->value.str.len = 0; \
+ return_value->value.str.val = empty_string \
+ return_value->type = IS_STRING; \
+ return; \
+ }
+
#define RETURN_FALSE { RETVAL_FALSE; return; }
#define RETURN_TRUE { RETVAL_TRUE; return; }
@@ -309,6 +363,7 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length,
ZEND_SET_SYMBOL_WITH_LENGTH(&EG(symbol_table), name, name_length, var, _refcount, _is_ref)
#define HASH_OF(p) ((p)->type==IS_ARRAY ? (p)->value.ht : (((p)->type==IS_OBJECT ? (p)->value.obj.properties : NULL)))
+#define ZVAL_IS_NULL(z) ((z)->type==IS_NULL)
#endif /* _ZEND_API_H */