summaryrefslogtreecommitdiff
path: root/Zend/zend_generators.h
diff options
context:
space:
mode:
authorkrakjoe <joe.watkins@live.co.uk>2014-05-05 22:45:29 +0100
committerkrakjoe <joe.watkins@live.co.uk>2014-05-05 22:45:29 +0100
commitd7c529ed327cca4fad2c42fe74fabc367f24dc5b (patch)
tree919d9e6800c6244436ddce9d09d707922fd859a4 /Zend/zend_generators.h
parent875c48ae679158cb2194c4e277810883e0b21768 (diff)
parent211d32c81429730e2692c65577d021616a525726 (diff)
downloadphp-git-d7c529ed327cca4fad2c42fe74fabc367f24dc5b.tar.gz
Merge branch 'phpng' of git.php.net:php-src into phpng
Diffstat (limited to 'Zend/zend_generators.h')
-rw-r--r--Zend/zend_generators.h18
1 files changed, 5 insertions, 13 deletions
diff --git a/Zend/zend_generators.h b/Zend/zend_generators.h
index 2373a1a7c8..999ead4b6e 100644
--- a/Zend/zend_generators.h
+++ b/Zend/zend_generators.h
@@ -25,18 +25,10 @@ BEGIN_EXTERN_C()
extern ZEND_API zend_class_entry *zend_ce_generator;
-typedef struct _zend_generator_iterator {
- zend_object_iterator intern;
-
- /* The generator object zval has to be stored, because the iterator is
- * holding a ref to it, which has to be dtored. */
- zval *object;
-} zend_generator_iterator;
-
typedef struct _zend_generator {
zend_object std;
- zend_generator_iterator iterator;
+ zend_object_iterator *iterator;
/* The suspended execution context. */
zend_execute_data *execute_data;
@@ -45,11 +37,11 @@ typedef struct _zend_generator {
zend_vm_stack stack;
/* Current value */
- zval *value;
+ zval value;
/* Current key */
- zval *key;
+ zval key;
/* Variable to put sent value into */
- zval **send_target;
+ zval *send_target;
/* Largest used integer key for auto-incrementing keys */
long largest_used_integer_key;
@@ -62,7 +54,7 @@ static const zend_uchar ZEND_GENERATOR_FORCED_CLOSE = 0x2;
static const zend_uchar ZEND_GENERATOR_AT_FIRST_YIELD = 0x4;
void zend_register_generator_ce(TSRMLS_D);
-ZEND_API zval *zend_generator_create_zval(zend_op_array *op_array TSRMLS_DC);
+ZEND_API void zend_generator_create_zval(zend_op_array *op_array, zval *return_value TSRMLS_DC);
ZEND_API void zend_generator_close(zend_generator *generator, zend_bool finished_execution TSRMLS_DC);
ZEND_API void zend_generator_resume(zend_generator *generator TSRMLS_DC);