diff options
Diffstat (limited to 'Zend/zend_attributes.h')
-rw-r--r-- | Zend/zend_attributes.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Zend/zend_attributes.h b/Zend/zend_attributes.h index 16221fa542..6b7150a363 100644 --- a/Zend/zend_attributes.h +++ b/Zend/zend_attributes.h @@ -30,19 +30,25 @@ #define ZEND_ATTRIBUTE_IS_REPEATABLE (1<<6) #define ZEND_ATTRIBUTE_FLAGS ((1<<7) - 1) -#define ZEND_ATTRIBUTE_SIZE(argc) (sizeof(zend_attribute) + sizeof(zval) * (argc) - sizeof(zval)) +#define ZEND_ATTRIBUTE_SIZE(argc) \ + (sizeof(zend_attribute) + sizeof(zend_attribute_arg) * (argc) - sizeof(zend_attribute_arg)) BEGIN_EXTERN_C() extern ZEND_API zend_class_entry *zend_ce_attribute; +typedef struct { + zend_string *name; + zval value; +} zend_attribute_arg; + typedef struct _zend_attribute { zend_string *name; zend_string *lcname; /* Parameter offsets start at 1, everything else uses 0. */ uint32_t offset; uint32_t argc; - zval argv[1]; + zend_attribute_arg args[1]; } zend_attribute; typedef struct _zend_internal_attribute { |