@@ -1092,7 +1092,11 @@ PHPAPI void redis_free_socket(RedisSock *redis_sock)
1092
1092
1093
1093
PHPAPI int
1094
1094
redis_serialize (RedisSock * redis_sock , zval * z , char * * val , int * val_len TSRMLS_CC ) {
1095
+ #if ZEND_MODULE_API_NO >= 20100000
1096
+ php_serialize_data_t ht ;
1097
+ #else
1095
1098
HashTable ht ;
1099
+ #endif
1096
1100
smart_str sstr = {0 };
1097
1101
zval * z_copy ;
1098
1102
size_t sz ;
@@ -1133,11 +1137,17 @@ redis_serialize(RedisSock *redis_sock, zval *z, char **val, int *val_len TSRMLS_
1133
1137
1134
1138
case REDIS_SERIALIZER_PHP :
1135
1139
1140
+ #if ZEND_MODULE_API_NO >= 20100000
1141
+ #else
1136
1142
zend_hash_init (& ht , 10 , NULL , NULL , 0 );
1143
+ #endif
1137
1144
php_var_serialize (& sstr , & z , & ht TSRMLS_CC );
1138
1145
* val = sstr .c ;
1139
1146
* val_len = (int )sstr .len ;
1147
+ #if ZEND_MODULE_API_NO >= 20100000
1148
+ #else
1140
1149
zend_hash_destroy (& ht );
1150
+ #endif
1141
1151
1142
1152
return 1 ;
1143
1153
@@ -1166,8 +1176,7 @@ redis_unserialize(RedisSock *redis_sock, const char *val, int val_len, zval **re
1166
1176
if (!* return_value ) {
1167
1177
MAKE_STD_ZVAL (* return_value );
1168
1178
}
1169
- var_hash .first = 0 ;
1170
- var_hash .first_dtor = 0 ;
1179
+ memset (& var_hash , 0 , sizeof (var_hash ));
1171
1180
if (!php_var_unserialize (return_value , (const unsigned char * * )& val ,
1172
1181
(const unsigned char * )val + val_len , & var_hash TSRMLS_CC )) {
1173
1182
efree (* return_value );
0 commit comments