@@ -990,7 +990,7 @@ PHP_METHOD(Redis, set) {
990
990
991
991
/* Free our key or value if we prefixed/serialized */
992
992
if (key_free ) efree (key );
993
- if (val_free ) efree (val );
993
+ if (val_free ) STR_FREE (val );
994
994
995
995
/* Kick off the command */
996
996
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -1023,7 +1023,7 @@ PHPAPI void redis_generic_setex(INTERNAL_FUNCTION_PARAMETERS, char *keyword) {
1023
1023
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
1024
1024
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
1025
1025
cmd_len = redis_cmd_format_static (& cmd , keyword , "sls" , key , key_len , expire , val , val_len );
1026
- if (val_free ) efree (val );
1026
+ if (val_free ) STR_FREE (val );
1027
1027
if (key_free ) efree (key );
1028
1028
1029
1029
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -1072,7 +1072,7 @@ PHP_METHOD(Redis, setnx)
1072
1072
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
1073
1073
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
1074
1074
cmd_len = redis_cmd_format_static (& cmd , "SETNX" , "ss" , key , key_len , val , val_len );
1075
- if (val_free ) efree (val );
1075
+ if (val_free ) STR_FREE (val );
1076
1076
if (key_free ) efree (key );
1077
1077
1078
1078
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -1110,7 +1110,7 @@ PHP_METHOD(Redis, getSet)
1110
1110
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
1111
1111
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
1112
1112
cmd_len = redis_cmd_format_static (& cmd , "GETSET" , "ss" , key , key_len , val , val_len );
1113
- if (val_free ) efree (val );
1113
+ if (val_free ) STR_FREE (val );
1114
1114
if (key_free ) efree (key );
1115
1115
1116
1116
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -1928,7 +1928,7 @@ generic_push_function(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int keyword_l
1928
1928
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
1929
1929
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
1930
1930
cmd_len = redis_cmd_format_static (& cmd , keyword , "ss" , key , key_len , val , val_len );
1931
- if (val_free ) efree (val );
1931
+ if (val_free ) STR_FREE (val );
1932
1932
if (key_free ) efree (key );
1933
1933
1934
1934
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -2004,9 +2004,9 @@ PHP_METHOD(Redis, lInsert)
2004
2004
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
2005
2005
pivot_free = redis_serialize (redis_sock , z_pivot , & pivot , & pivot_len TSRMLS_CC );
2006
2006
cmd_len = redis_cmd_format_static (& cmd , "LINSERT" , "ssss" , key , key_len , position , position_len , pivot , pivot_len , val , val_len );
2007
- if (val_free ) efree (val );
2007
+ if (val_free ) STR_FREE (val );
2008
2008
if (key_free ) efree (key );
2009
- if (pivot_free ) efree (pivot );
2009
+ if (pivot_free ) STR_FREE (pivot );
2010
2010
2011
2011
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
2012
2012
IF_ATOMIC () {
@@ -2178,7 +2178,7 @@ PHP_METHOD(Redis, lRemove)
2178
2178
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
2179
2179
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
2180
2180
cmd_len = redis_cmd_format_static (& cmd , "LREM" , "sds" , key , key_len , count , val , val_len );
2181
- if (val_free ) efree (val );
2181
+ if (val_free ) STR_FREE (val );
2182
2182
if (key_free ) efree (key );
2183
2183
2184
2184
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -2382,7 +2382,7 @@ PHP_METHOD(Redis, sMove)
2382
2382
src_free = redis_key_prefix (redis_sock , & src , & src_len TSRMLS_CC );
2383
2383
dst_free = redis_key_prefix (redis_sock , & dst , & dst_len TSRMLS_CC );
2384
2384
cmd_len = redis_cmd_format_static (& cmd , "SMOVE" , "sss" , src , src_len , dst , dst_len , val , val_len );
2385
- if (val_free ) efree (val );
2385
+ if (val_free ) STR_FREE (val );
2386
2386
if (src_free ) efree (src );
2387
2387
if (dst_free ) efree (dst );
2388
2388
@@ -2488,7 +2488,7 @@ PHP_METHOD(Redis, sContains)
2488
2488
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
2489
2489
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
2490
2490
cmd_len = redis_cmd_format_static (& cmd , "SISMEMBER" , "ss" , key , key_len , val , val_len );
2491
- if (val_free ) efree (val );
2491
+ if (val_free ) STR_FREE (val );
2492
2492
if (key_free ) efree (key );
2493
2493
2494
2494
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -2716,7 +2716,7 @@ PHPAPI int generic_multiple_args_cmd(INTERNAL_FUNCTION_PARAMETERS, char *keyword
2716
2716
/* cleanup prefixed keys. */
2717
2717
for (i = 0 ; i < real_argc + (has_timeout ?-1 :0 ); ++ i ) {
2718
2718
if (keys_to_free [i ])
2719
- efree (keys [i ]);
2719
+ STR_FREE (keys [i ]);
2720
2720
}
2721
2721
if (single_array && has_timeout ) { /* cleanup string created to contain timeout value */
2722
2722
efree (keys [real_argc - 1 ]);
@@ -3362,7 +3362,7 @@ PHP_METHOD(Redis, lSet) {
3362
3362
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
3363
3363
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
3364
3364
cmd_len = redis_cmd_format_static (& cmd , "LSET" , "sds" , key , key_len , index , val , val_len );
3365
- if (val_free ) efree (val );
3365
+ if (val_free ) STR_FREE (val );
3366
3366
if (key_free ) efree (key );
3367
3367
3368
3368
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -3782,7 +3782,7 @@ generic_mset(INTERNAL_FUNCTION_PARAMETERS, char *kw, void (*fun)(INTERNAL_FUNCTI
3782
3782
memcpy (p , _NL , 2 ); p += 2 ;
3783
3783
}
3784
3784
3785
- if (val_free ) efree (val );
3785
+ if (val_free ) STR_FREE (val );
3786
3786
if (key_free ) efree (key );
3787
3787
}
3788
3788
}
@@ -3964,7 +3964,7 @@ PHP_METHOD(Redis, zAdd) {
3964
3964
smart_str_appendl (& buf , val , val_len );
3965
3965
smart_str_appendl (& buf , _NL , sizeof (_NL ) - 1 );
3966
3966
3967
- if (val_free ) efree (val );
3967
+ if (val_free ) STR_FREE (val );
3968
3968
}
3969
3969
3970
3970
/* end string */
@@ -4361,7 +4361,7 @@ PHP_METHOD(Redis, zScore)
4361
4361
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
4362
4362
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
4363
4363
cmd_len = redis_cmd_format_static (& cmd , "ZSCORE" , "ss" , key , key_len , val , val_len );
4364
- if (val_free ) efree (val );
4364
+ if (val_free ) STR_FREE (val );
4365
4365
if (key_free ) efree (key );
4366
4366
4367
4367
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -4394,7 +4394,7 @@ PHPAPI void generic_rank_method(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int
4394
4394
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
4395
4395
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
4396
4396
cmd_len = redis_cmd_format_static (& cmd , keyword , "ss" , key , key_len , val , val_len );
4397
- if (val_free ) efree (val );
4397
+ if (val_free ) STR_FREE (val );
4398
4398
if (key_free ) efree (key );
4399
4399
4400
4400
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -4444,7 +4444,7 @@ PHPAPI void generic_incrby_method(INTERNAL_FUNCTION_PARAMETERS, char *keyword, i
4444
4444
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
4445
4445
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
4446
4446
cmd_len = redis_cmd_format_static (& cmd , keyword , "sfs" , key , key_len , add , val , val_len );
4447
- if (val_free ) efree (val );
4447
+ if (val_free ) STR_FREE (val );
4448
4448
if (key_free ) efree (key );
4449
4449
4450
4450
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -4659,7 +4659,7 @@ generic_hset(INTERNAL_FUNCTION_PARAMETERS, char *kw, void (*fun)(INTERNAL_FUNCTI
4659
4659
val_free = redis_serialize (redis_sock , z_value , & val , & val_len TSRMLS_CC );
4660
4660
key_free = redis_key_prefix (redis_sock , & key , & key_len TSRMLS_CC );
4661
4661
cmd_len = redis_cmd_format_static (& cmd , kw , "sss" , key , key_len , member , member_len , val , val_len );
4662
- if (val_free ) efree (val );
4662
+ if (val_free ) STR_FREE (val );
4663
4663
if (key_free ) efree (key );
4664
4664
4665
4665
REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
@@ -5179,7 +5179,7 @@ PHP_METHOD(Redis, hMset)
5179
5179
redis_cmd_append_sstr (& set_cmds , hkey , hkey_len - 1 );
5180
5180
redis_cmd_append_sstr (& set_cmds , hval , hval_len );
5181
5181
5182
- if (hval_free ) efree (hval );
5182
+ if (hval_free ) STR_FREE (hval );
5183
5183
}
5184
5184
5185
5185
// Now construct the entire command
@@ -6685,7 +6685,7 @@ PHP_METHOD(Redis, _serialize) {
6685
6685
RedisSock * redis_sock ;
6686
6686
zval * z_val ;
6687
6687
char * val ;
6688
- int val_free , val_len ;
6688
+ int val_len ;
6689
6689
6690
6690
// Parse arguments
6691
6691
if (zend_parse_method_parameters (ZEND_NUM_ARGS () TSRMLS_CC , getThis (), "Oz" ,
@@ -6700,10 +6700,11 @@ PHP_METHOD(Redis, _serialize) {
6700
6700
}
6701
6701
6702
6702
// Serialize, which will return a value even if no serializer is set
6703
- val_free = redis_serialize (redis_sock , z_val , & val , & val_len TSRMLS_CC );
6703
+ redis_serialize (redis_sock , z_val , & val , & val_len TSRMLS_CC );
6704
6704
6705
- // Return serialized value. Tell PHP to make a copy if redis_serialize didn't.
6706
- RETURN_STRINGL (val , val_len , !val_free );
6705
+ // Return serialized value. Tell PHP to make a copy as some can be interned.
6706
+ RETVAL_STRINGL (val , val_len , 1 );
6707
+ STR_FREE (val );
6707
6708
}
6708
6709
6709
6710
/*
0 commit comments