diff options
author | Matt Wilmas <mattwil@php.net> | 2008-08-29 18:12:47 +0000 |
---|---|---|
committer | Matt Wilmas <mattwil@php.net> | 2008-08-29 18:12:47 +0000 |
commit | 22a5aea1617ca40f57adc2775cf6d69c105c2c14 (patch) | |
tree | 38d5dc0380af964f39c093e4e74df23c6443753b /Zend | |
parent | 2e6d655efd4e2a674211ed21826638c2ef90c164 (diff) | |
download | php-git-22a5aea1617ca40f57adc2775cf6d69c105c2c14.tar.gz |
MFH: - Updated unary_op_type typedef with TSRMLS_DC
- Added binary_op_type typedef
- Added missing ZEND_BOOL_XOR to get_binary_op()
Diffstat (limited to 'Zend')
-rw-r--r-- | Zend/zend_compile.h | 5 | ||||
-rw-r--r-- | Zend/zend_opcode.c | 41 |
2 files changed, 25 insertions, 21 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index f3815a3f8d..cb76bc4780 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -386,9 +386,10 @@ void fetch_string_offset(znode *result, const znode *parent, const znode *offset void zend_do_fetch_static_member(znode *result, znode *class_znode TSRMLS_DC); void zend_do_print(znode *result, const znode *arg TSRMLS_DC); void zend_do_echo(const znode *arg TSRMLS_DC); -typedef int (*unary_op_type)(zval *, zval *); +typedef int (*unary_op_type)(zval *, zval * TSRMLS_DC); +typedef int (*binary_op_type)(zval *, zval *, zval * TSRMLS_DC); ZEND_API unary_op_type get_unary_op(int opcode); -ZEND_API void *get_binary_op(int opcode); +ZEND_API binary_op_type get_binary_op(int opcode); void zend_do_while_cond(const znode *expr, znode *close_bracket_token TSRMLS_DC); void zend_do_while_end(const znode *while_token, const znode *close_bracket_token TSRMLS_DC); diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index fbbccb3f0c..0ec764e697 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -437,73 +437,76 @@ ZEND_API unary_op_type get_unary_op(int opcode) } } -ZEND_API void *get_binary_op(int opcode) +ZEND_API binary_op_type get_binary_op(int opcode) { switch (opcode) { case ZEND_ADD: case ZEND_ASSIGN_ADD: - return (void *) add_function; + return (binary_op_type) add_function; break; case ZEND_SUB: case ZEND_ASSIGN_SUB: - return (void *) sub_function; + return (binary_op_type) sub_function; break; case ZEND_MUL: case ZEND_ASSIGN_MUL: - return (void *) mul_function; + return (binary_op_type) mul_function; break; case ZEND_DIV: case ZEND_ASSIGN_DIV: - return (void *) div_function; + return (binary_op_type) div_function; break; case ZEND_MOD: case ZEND_ASSIGN_MOD: - return (void *) mod_function; + return (binary_op_type) mod_function; break; case ZEND_SL: case ZEND_ASSIGN_SL: - return (void *) shift_left_function; + return (binary_op_type) shift_left_function; break; case ZEND_SR: case ZEND_ASSIGN_SR: - return (void *) shift_right_function; + return (binary_op_type) shift_right_function; break; case ZEND_CONCAT: case ZEND_ASSIGN_CONCAT: - return (void *) concat_function; + return (binary_op_type) concat_function; break; case ZEND_IS_IDENTICAL: - return (void *) is_identical_function; + return (binary_op_type) is_identical_function; break; case ZEND_IS_NOT_IDENTICAL: - return (void *) is_not_identical_function; + return (binary_op_type) is_not_identical_function; break; case ZEND_IS_EQUAL: - return (void *) is_equal_function; + return (binary_op_type) is_equal_function; break; case ZEND_IS_NOT_EQUAL: - return (void *) is_not_equal_function; + return (binary_op_type) is_not_equal_function; break; case ZEND_IS_SMALLER: - return (void *) is_smaller_function; + return (binary_op_type) is_smaller_function; break; case ZEND_IS_SMALLER_OR_EQUAL: - return (void *) is_smaller_or_equal_function; + return (binary_op_type) is_smaller_or_equal_function; break; case ZEND_BW_OR: case ZEND_ASSIGN_BW_OR: - return (void *) bitwise_or_function; + return (binary_op_type) bitwise_or_function; break; case ZEND_BW_AND: case ZEND_ASSIGN_BW_AND: - return (void *) bitwise_and_function; + return (binary_op_type) bitwise_and_function; break; case ZEND_BW_XOR: case ZEND_ASSIGN_BW_XOR: - return (void *) bitwise_xor_function; + return (binary_op_type) bitwise_xor_function; + break; + case ZEND_BOOL_XOR: + return (binary_op_type) boolean_xor_function; break; default: - return (void *) NULL; + return (binary_op_type) NULL; break; } } |