diff options
| author | Zeev Suraski <zeev@php.net> | 2000-04-20 14:32:39 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2000-04-20 14:32:39 +0000 |
| commit | 9022a4bdbdbea75680454f3a18ecee7581dfff5e (patch) | |
| tree | 863a30cfc813a44a16dd02ff7f0856d01aab10a0 /Zend/zend_operators.h | |
| parent | a918842f30562884769e73bb4ff598d37d38d1ef (diff) | |
| download | php-git-9022a4bdbdbea75680454f3a18ecee7581dfff5e.tar.gz | |
Add some macros for nicer zval handling
Diffstat (limited to 'Zend/zend_operators.h')
| -rw-r--r-- | Zend/zend_operators.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index 6e14afcf96..ed92af392e 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -118,4 +118,28 @@ ZEND_API void zendi_smart_strcmp(zval *result, zval *s1, zval *s2); convert_scalar_to_number(*ppzv); \ } + + +#define ZLVAL(zval) (zval).value.lval +#define ZDVAL(zval) (zval).value.dval +#define ZSTRVAL(zval) (zval).value.str.val +#define ZSTRLEN(zval) (zval).value.str.len +#define ZARRVAL(zval) (zval).value.ht + +#define ZLVAL_P(zval_p) ZLVAL(*zval_p) +#define ZDVAL_P(zval_p) ZDVAL(*zval_p) +#define ZSTRVAL_P(zval_p) ZSTRVAL(*zval_p) +#define ZSTRLEN_P(zval_p) ZSTRLEN(*zval_p) +#define ZARRVA_PL(zval_p) ZARRVAL(*zval_p) + +#define ZLVAL_PP(zval_pp) ZLVAL(**zval_pp) +#define ZDVAL_PP(zval_pp) ZDVAL(**zval_pp) +#define ZSTRVAL_PP(zval_pp) ZSTRVAL(**zval_pp) +#define ZSTRLEN_PP(zval_pp) ZSTRLEN(**zval_pp) +#define ZARRVAL_PP(zval_pp) ZARRVAL(**zval_pp) + +#define ZTYPE(zval) (zval).type +#define ZTYPE_P(zval_p) ZTYPE(*zval_p) +#define ZTYPE_PP(zval_pp) ZTYPE(**zval_pp) + #endif |
