@@ -1645,107 +1645,79 @@ ZEND_API int array_set_zval_key(HashTable *ht, zval *key, zval *value) /* {{{ */
1645
1645
ZEND_API int add_property_long_ex (zval * arg , const char * key , size_t key_len , zend_long n ) /* {{{ */
1646
1646
{
1647
1647
zval tmp ;
1648
- zval z_key ;
1649
1648
1650
1649
ZVAL_LONG (& tmp , n );
1651
- ZVAL_STRINGL (& z_key , key , key_len );
1652
- Z_OBJ_HANDLER_P (arg , write_property )(arg , & z_key , & tmp , NULL );
1653
- zval_ptr_dtor (& z_key );
1654
- return SUCCESS ;
1650
+ return add_property_zval_ex (arg , key , key_len , & tmp );
1655
1651
}
1656
1652
/* }}} */
1657
1653
1658
1654
ZEND_API int add_property_bool_ex (zval * arg , const char * key , size_t key_len , zend_long b ) /* {{{ */
1659
1655
{
1660
1656
zval tmp ;
1661
- zval z_key ;
1662
1657
1663
1658
ZVAL_BOOL (& tmp , b );
1664
- ZVAL_STRINGL (& z_key , key , key_len );
1665
- Z_OBJ_HANDLER_P (arg , write_property )(arg , & z_key , & tmp , NULL );
1666
- zval_ptr_dtor (& z_key );
1667
- return SUCCESS ;
1659
+ return add_property_zval_ex (arg , key , key_len , & tmp );
1668
1660
}
1669
1661
/* }}} */
1670
1662
1671
1663
ZEND_API int add_property_null_ex (zval * arg , const char * key , size_t key_len ) /* {{{ */
1672
1664
{
1673
1665
zval tmp ;
1674
- zval z_key ;
1675
1666
1676
1667
ZVAL_NULL (& tmp );
1677
- ZVAL_STRINGL (& z_key , key , key_len );
1678
- Z_OBJ_HANDLER_P (arg , write_property )(arg , & z_key , & tmp , NULL );
1679
- zval_ptr_dtor (& z_key );
1680
- return SUCCESS ;
1668
+ return add_property_zval_ex (arg , key , key_len , & tmp );
1681
1669
}
1682
1670
/* }}} */
1683
1671
1684
1672
ZEND_API int add_property_resource_ex (zval * arg , const char * key , size_t key_len , zend_resource * r ) /* {{{ */
1685
1673
{
1686
1674
zval tmp ;
1687
- zval z_key ;
1688
1675
1689
1676
ZVAL_RES (& tmp , r );
1690
- ZVAL_STRINGL (& z_key , key , key_len );
1691
- Z_OBJ_HANDLER_P (arg , write_property )(arg , & z_key , & tmp , NULL );
1677
+ add_property_zval_ex (arg , key , key_len , & tmp );
1692
1678
zval_ptr_dtor (& tmp ); /* write_property will add 1 to refcount */
1693
- zval_ptr_dtor (& z_key );
1694
1679
return SUCCESS ;
1695
1680
}
1696
1681
/* }}} */
1697
1682
1698
1683
ZEND_API int add_property_double_ex (zval * arg , const char * key , size_t key_len , double d ) /* {{{ */
1699
1684
{
1700
1685
zval tmp ;
1701
- zval z_key ;
1702
1686
1703
1687
ZVAL_DOUBLE (& tmp , d );
1704
- ZVAL_STRINGL (& z_key , key , key_len );
1705
- Z_OBJ_HANDLER_P (arg , write_property )(arg , & z_key , & tmp , NULL );
1706
- zval_ptr_dtor (& z_key );
1707
- return SUCCESS ;
1688
+ return add_property_zval_ex (arg , key , key_len , & tmp );
1708
1689
}
1709
1690
/* }}} */
1710
1691
1711
1692
ZEND_API int add_property_str_ex (zval * arg , const char * key , size_t key_len , zend_string * str ) /* {{{ */
1712
1693
{
1713
1694
zval tmp ;
1714
- zval z_key ;
1715
1695
1716
1696
ZVAL_STR (& tmp , str );
1717
- ZVAL_STRINGL (& z_key , key , key_len );
1718
- Z_OBJ_HANDLER_P (arg , write_property )(arg , & z_key , & tmp , NULL );
1697
+ add_property_zval_ex (arg , key , key_len , & tmp );
1719
1698
zval_ptr_dtor (& tmp ); /* write_property will add 1 to refcount */
1720
- zval_ptr_dtor (& z_key );
1721
1699
return SUCCESS ;
1722
1700
}
1723
1701
/* }}} */
1724
1702
1725
1703
ZEND_API int add_property_string_ex (zval * arg , const char * key , size_t key_len , const char * str ) /* {{{ */
1726
1704
{
1727
1705
zval tmp ;
1728
- zval z_key ;
1729
1706
1730
1707
ZVAL_STRING (& tmp , str );
1731
- ZVAL_STRINGL (& z_key , key , key_len );
1732
- Z_OBJ_HANDLER_P (arg , write_property )(arg , & z_key , & tmp , NULL );
1708
+ add_property_zval_ex (arg , key , key_len , & tmp );
1733
1709
zval_ptr_dtor (& tmp ); /* write_property will add 1 to refcount */
1734
- zval_ptr_dtor (& z_key );
1735
1710
return SUCCESS ;
1736
1711
}
1737
1712
/* }}} */
1738
1713
1739
1714
ZEND_API int add_property_stringl_ex (zval * arg , const char * key , size_t key_len , const char * str , size_t length ) /* {{{ */
1740
1715
{
1741
1716
zval tmp ;
1742
- zval z_key ;
1743
1717
1744
1718
ZVAL_STRINGL (& tmp , str , length );
1745
- ZVAL_STRINGL (& z_key , key , key_len );
1746
- Z_OBJ_HANDLER_P (arg , write_property )(arg , & z_key , & tmp , NULL );
1719
+ add_property_zval_ex (arg , key , key_len , & tmp );
1747
1720
zval_ptr_dtor (& tmp ); /* write_property will add 1 to refcount */
1748
- zval_ptr_dtor (& z_key );
1749
1721
return SUCCESS ;
1750
1722
}
1751
1723
/* }}} */
0 commit comments