diff options
| author | krakjoe <joe.watkins@live.co.uk> | 2014-05-05 22:45:29 +0100 |
|---|---|---|
| committer | krakjoe <joe.watkins@live.co.uk> | 2014-05-05 22:45:29 +0100 |
| commit | d7c529ed327cca4fad2c42fe74fabc367f24dc5b (patch) | |
| tree | 919d9e6800c6244436ddce9d09d707922fd859a4 /Zend/zend_generators.h | |
| parent | 875c48ae679158cb2194c4e277810883e0b21768 (diff) | |
| parent | 211d32c81429730e2692c65577d021616a525726 (diff) | |
| download | php-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.h | 18 |
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); |
