cvs: ZendEngine2 / zend_API.h

From: Date: Sat, 29 Nov 2003 18:15:12 +0000
Subject: cvs: ZendEngine2 / zend_API.h
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-2027@lists.php.net to get a copy of this message
helly Sat Nov 29 13:15:12 2003 EDT Modified files: /ZendEngine2 zend_API.h Log: Add macros to return values of other zvals. This is needed because one cannot use REPLACE_ZVAL_VALUE with return_value. Index: ZendEngine2/zend_API.h diff -u ZendEngine2/zend_API.h:1.169 ZendEngine2/zend_API.h:1.170 --- ZendEngine2/zend_API.h:1.169 Tue Nov 18 14:18:54 2003 +++ ZendEngine2/zend_API.h Sat Nov 29 13:15:11 2003 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_API.h,v 1.169 2003/11/18 19:18:54 helly Exp $ */ +/* $Id: zend_API.h,v 1.170 2003/11/29 18:15:11 helly Exp $ */ #ifndef ZEND_API_H #define ZEND_API_H @@ -377,6 +377,21 @@ (z)->type = IS_STRING; \ } +#define ZVAL_ZVAL(z, zv, copy, dtor) { \ + int is_ref, refcount; \ + is_ref = (z)->is_ref; \ + refcount = (z)->refcount; \ + *(z) = *(zv); \ + if (copy) { \ + zval_copy_ctor(z); \ + } \ + if (dtor) { \ + zval_ptr_dtor(zv); \ + } \ + (z)->is_ref = is_ref; \ + (z)->refcount = refcount; \ + } + #define ZVAL_FALSE(z) ZVAL_BOOL(z, 0) #define ZVAL_TRUE(z) ZVAL_BOOL(z, 1) @@ -388,6 +403,7 @@ #define RETVAL_STRING(s, duplicate) ZVAL_STRING(return_value, s, duplicate) #define RETVAL_STRINGL(s, l, duplicate) ZVAL_STRINGL(return_value, s, l, duplicate) #define RETVAL_EMPTY_STRING() ZVAL_EMPTY_STRING(return_value) +#define RETVAL_ZVAL(zv, copy, dtor) ZVAL_ZVAL(return_value, zv, copy, dtor) #define RETVAL_FALSE ZVAL_BOOL(return_value, 0) #define RETVAL_TRUE ZVAL_BOOL(return_value, 1) @@ -399,6 +415,7 @@ #define RETURN_STRING(s, duplicate) { RETVAL_STRING(s, duplicate); return; } #define RETURN_STRINGL(s, l, duplicate) { RETVAL_STRINGL(s, l, duplicate); return; } #define RETURN_EMPTY_STRING() { RETVAL_EMPTY_STRING(); return; } +#define RETURN_ZVAL(zv, copy, dtor) { RETVAL_ZVAL(zv, copy, dtor); return; } #define RETURN_FALSE { RETVAL_FALSE; return; } #define RETURN_TRUE { RETVAL_TRUE; return; }

« previous php.zend-engine.cvs (#2027) next »