smart_str_appendc(&buf, (unsigned char) key_length);
smart_str_appendl(&buf, key, key_length);
- php_var_serialize(&buf, struc, &var_hash);
+ php_var_serialize(&buf, struc, &var_hash TSRMLS_CC);
} else {
if (key_length > PS_BIN_MAX) continue;
smart_str_appendc(&buf, (unsigned char) (key_length & PS_BIN_UNDEF));
if (has_value) {
MAKE_STD_ZVAL(current);
- if (php_var_unserialize(¤t, &p, endptr, &var_hash)) {
+ if (php_var_unserialize(¤t, &p, endptr, &var_hash TSRMLS_CC)) {
php_set_session_var(name, namelen, current, &var_hash TSRMLS_CC);
}
zval_ptr_dtor(¤t);
smart_str_appendl(&buf, key, (unsigned char) key_length);
smart_str_appendc(&buf, PS_DELIMITER);
- php_var_serialize(&buf, struc, &var_hash);
+ php_var_serialize(&buf, struc, &var_hash TSRMLS_CC);
} else {
if (key_length + 2 > MAX_STR) continue;
smart_str_appendc(&buf, PS_UNDEF_MARKER);
if (has_value) {
MAKE_STD_ZVAL(current);
- if (php_var_unserialize(¤t, &q, endptr, &var_hash)) {
+ if (php_var_unserialize(¤t, &q, endptr, &var_hash TSRMLS_CC)) {
php_set_session_var(name, namelen, current, &var_hash TSRMLS_CC);
}
zval_ptr_dtor(¤t);
/* typdef HashTable php_serialize_data_t; */
#define php_serialize_data_t HashTable
-PHPAPI void php_var_serialize(smart_str *buf, zval **struc, php_serialize_data_t *var_hash);
-PHPAPI int php_var_unserialize(zval **rval, const char **p, const char *max, php_serialize_data_t *var_hash);
+PHPAPI void php_var_serialize(smart_str *buf, zval **struc, php_serialize_data_t *var_hash TSRMLS_DC);
+PHPAPI int php_var_unserialize(zval **rval, const char **p, const char *max, php_serialize_data_t *var_hash TSRMLS_DC);
#define PHP_VAR_SERIALIZE_INIT(var_hash) \
zend_hash_init(&(var_hash),10,NULL,NULL,0)
php_printf("%sint(%ld)\n", COMMON, Z_LVAL_PP(struc));
break;
case IS_DOUBLE: {
- TSRMLS_FETCH();
php_printf("%sfloat(%.*G)\n", COMMON, (int) EG(precision), Z_DVAL_PP(struc));
}
break;
case IS_RESOURCE: {
char *type_name;
- TSRMLS_FETCH();
type_name = zend_rsrc_list_get_rsrc_type(Z_LVAL_PP(struc) TSRMLS_CC);
php_printf("%sresource(%ld) of type (%s)\n", COMMON, Z_LVAL_PP(struc), type_name ? type_name : "Unknown");
}
}
-PHPAPI void php_var_serialize(smart_str *buf, zval **struc, HashTable *var_hash)
+PHPAPI void php_var_serialize(smart_str *buf, zval **struc, HashTable *var_hash TSRMLS_DC)
{
- TSRMLS_FETCH();
-
php_var_serialize_intern(buf, struc, var_hash TSRMLS_CC);
smart_str_0(buf);
}
/* }}} */
/* {{{ php_var_unserialize */
-PHPAPI int php_var_unserialize(zval **rval, const char **p, const char *max, HashTable *var_hash)
+PHPAPI int php_var_unserialize(zval **rval, const char **p, const char *max, HashTable *var_hash TSRMLS_DC)
{
const char *q;
char *str;
ulong id;
HashTable *myht;
zval **rval_ref;
- TSRMLS_FETCH();
if (var_hash && **p != 'R') { /* references aren't counted by serializer! */
zend_hash_next_index_insert(var_hash, rval, sizeof(*rval), NULL);
ALLOC_INIT_ZVAL(key);
ALLOC_INIT_ZVAL(data);
- if (!php_var_unserialize(&key, p, max, NULL)) {
+ if (!php_var_unserialize(&key, p, max, NULL TSRMLS_CC)) {
zval_dtor(key);
FREE_ZVAL(key);
FREE_ZVAL(data);
return 0;
}
- if (!php_var_unserialize(&data, p, max, var_hash)) {
+ if (!php_var_unserialize(&data, p, max, var_hash TSRMLS_CC)) {
zval_dtor(key);
FREE_ZVAL(key);
zval_dtor(data);
return_value->value.str.len = 0;
PHP_VAR_SERIALIZE_INIT(var_hash);
- php_var_serialize(&buf, struc, &var_hash);
+ php_var_serialize(&buf, struc, &var_hash TSRMLS_CC);
PHP_VAR_SERIALIZE_DESTROY(var_hash);
RETVAL_STRINGL(buf.c, buf.len, 0);
}
}
PHP_VAR_UNSERIALIZE_INIT(var_hash);
- if (!php_var_unserialize(&return_value, &p, p + Z_STRLEN_PP(buf), &var_hash)) {
+ if (!php_var_unserialize(&return_value, &p, p + Z_STRLEN_PP(buf), &var_hash TSRMLS_CC)) {
PHP_VAR_UNSERIALIZE_DESTROY(var_hash);
zval_dtor(return_value);
php_error(E_NOTICE, "unserialize() failed at offset %d of %d bytes",p - Z_STRVAL_PP(buf),Z_STRLEN_PP(buf));
/* setup string-variable and serialize */
PHP_VAR_SERIALIZE_INIT(var_hash);
- php_var_serialize(&shm_var,arg_var,&var_hash);
+ php_var_serialize(&shm_var,arg_var,&var_hash TSRMLS_CC);
PHP_VAR_SERIALIZE_DESTROY(var_hash);
/* insert serialized variable into shared memory */
ret=php_put_shm_data(shm_list_ptr->ptr,key,shm_var.c,shm_var.len);
shm_data=&shm_var->mem;
PHP_VAR_UNSERIALIZE_INIT(var_hash);
- if(php_var_unserialize(&return_value, (const char **) &shm_data, shm_data+shm_var->length,&var_hash)!=1) {
+ if(php_var_unserialize(&return_value, (const char **) &shm_data, shm_data+shm_var->length,&var_hash TSRMLS_CC)!=1) {
PHP_VAR_UNSERIALIZE_DESTROY(var_hash);
php_error(E_WARNING, "variable data in shared memory is corruped");
RETURN_FALSE;