@@ -559,22 +559,13 @@ static zend_always_inline void add_property_stringl(zval *z_object, const char *
559
559
static zend_always_inline void add_property_stringl_ex (zval * z_object , const char * name , size_t name_length , const char * value , size_t value_len ) {
560
560
zend_update_property_stringl (Z_OBJCE_P (z_object ), Z_OBJ_P (z_object ), name , name_length , value , value_len );
561
561
}
562
+ /* Resource variant only has non ex version as it is rarely used */
563
+ static zend_always_inline void add_property_resource (zval * z_object , const char * name , zend_resource * resource ) {
564
+ zval tmp ;
562
565
563
- ZEND_API void add_property_resource_ex (zval * arg , const char * key , size_t key_len , zend_resource * r );
564
- ZEND_API void add_property_array_ex (zval * arg , const char * key , size_t key_len , zend_array * arr );
565
- ZEND_API void add_property_object_ex (zval * arg , const char * key , size_t key_len , zend_object * obj );
566
- ZEND_API void add_property_reference_ex (zval * arg , const char * key , size_t key_len , zend_reference * ref );
567
- static zend_always_inline void add_property_resource (zval * arg , const char * key , zend_resource * r ) {
568
- add_property_resource_ex (arg , key , strlen (key ), r );
569
- }
570
- static zend_always_inline void add_property_array (zval * arg , const char * key , zend_array * arr ) {
571
- add_property_array_ex (arg , key , strlen (key ), arr );
572
- }
573
- static zend_always_inline void add_property_object (zval * arg , const char * key , zend_object * obj ) {
574
- add_property_object_ex (arg , key , strlen (key ), obj );
575
- }
576
- static zend_always_inline void add_property_reference (zval * arg , const char * key , zend_reference * ref ) {
577
- add_property_reference_ex (arg , key , strlen (key ), ref );
566
+ ZVAL_RES (& tmp , resource );
567
+ zend_update_property (Z_OBJCE_P (z_object ), Z_OBJ_P (z_object ), name , strlen (name ), & tmp );
568
+ zval_ptr_dtor (& tmp ); /* Updating property will increase refcount by 1 */
578
569
}
579
570
580
571
ZEND_API zend_result zend_update_static_property_ex (zend_class_entry * scope , zend_string * name , zval * value );
0 commit comments