#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; \
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; }
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; }
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 */