ZEND_API int add_property_long_ex(zval *arg, char *key, uint key_len, long n)
{
zval *tmp;
+ TSRMLS_FETCH();
MAKE_STD_ZVAL(tmp);
ZVAL_LONG(tmp, n);
ZEND_API int add_property_bool_ex(zval *arg, char *key, uint key_len, int b)
{
zval *tmp;
+ TSRMLS_FETCH();
MAKE_STD_ZVAL(tmp);
ZVAL_BOOL(tmp, b);
ZEND_API int add_property_null_ex(zval *arg, char *key, uint key_len)
{
zval *tmp;
+ TSRMLS_FETCH();
MAKE_STD_ZVAL(tmp);
ZVAL_NULL(tmp);
ZEND_API int add_property_resource_ex(zval *arg, char *key, uint key_len, long n)
{
zval *tmp;
+ TSRMLS_FETCH();
MAKE_STD_ZVAL(tmp);
ZVAL_RESOURCE(tmp, n);
ZEND_API int add_property_double_ex(zval *arg, char *key, uint key_len, double d)
{
zval *tmp;
-
+ TSRMLS_FETCH();
+
MAKE_STD_ZVAL(tmp);
ZVAL_DOUBLE(tmp, d);
ZEND_API int add_property_string_ex(zval *arg, char *key, uint key_len, char *str, int duplicate)
{
zval *tmp;
+ TSRMLS_FETCH();
MAKE_STD_ZVAL(tmp);
ZVAL_STRING(tmp, str, duplicate);
ZEND_API int add_property_stringl_ex(zval *arg, char *key, uint key_len, char *str, uint length, int duplicate)
{
zval *tmp;
+ TSRMLS_FETCH();
MAKE_STD_ZVAL(tmp);
ZVAL_STRINGL(tmp, str, length, duplicate);
ZEND_API int add_property_zval_ex(zval *arg, char *key, uint key_len, zval *value)
{
+ TSRMLS_FETCH();
+
return zend_hash_update(Z_OBJPROP_P(arg), key, key_len, (void *) &value, sizeof(zval *), NULL);
}
#define Z_OBJ_HT(zval) (zval).value.obj.handlers
#define Z_OBJ(zval) zend_objects_get_address(&(zval))
#define Z_OBJCE(zval) zend_get_class_entry(&(zval))
-#define Z_OBJPROP(zval) Z_OBJ_HT((zval))->get_properties(&(zval))
+#define Z_OBJPROP(zval) Z_OBJ_HT((zval))->get_properties(&(zval) TSRMLS_CC)
#define Z_RESVAL(zval) (zval).value.lval
#define Z_LVAL_P(zval_p) Z_LVAL(*zval_p)