@@ -70,6 +70,7 @@ static zend_function_entry redis_functions[] = {
70
70
PHP_ME (Redis , type , NULL , ZEND_ACC_PUBLIC )
71
71
PHP_ME (Redis , append , NULL , ZEND_ACC_PUBLIC )
72
72
PHP_ME (Redis , getRange , NULL , ZEND_ACC_PUBLIC )
73
+ PHP_ME (Redis , setRange , NULL , ZEND_ACC_PUBLIC )
73
74
PHP_ME (Redis , strlen , NULL , ZEND_ACC_PUBLIC )
74
75
PHP_ME (Redis , getKeys , NULL , ZEND_ACC_PUBLIC )
75
76
PHP_ME (Redis , sort , NULL , ZEND_ACC_PUBLIC )
@@ -1127,6 +1128,32 @@ PHP_METHOD(Redis, getRange)
1127
1128
REDIS_PROCESS_RESPONSE (redis_string_response );
1128
1129
}
1129
1130
1131
+ PHP_METHOD (Redis , setRange )
1132
+ {
1133
+ zval * object ;
1134
+ RedisSock * redis_sock ;
1135
+ char * key = NULL , * val , * cmd ;
1136
+ int key_len , val_len , cmd_len ;
1137
+ long offset ;
1138
+
1139
+ if (zend_parse_method_parameters (ZEND_NUM_ARGS () TSRMLS_CC , getThis (), "Osls" ,
1140
+ & object , redis_ce , & key , & key_len ,
1141
+ & offset , & val , & val_len ) == FAILURE ) {
1142
+ RETURN_FALSE ;
1143
+ }
1144
+
1145
+ if (redis_sock_get (object , & redis_sock TSRMLS_CC ) < 0 ) {
1146
+ RETURN_FALSE ;
1147
+ }
1148
+
1149
+ cmd_len = redis_cmd_format_static (& cmd , "SETRANGE" , "sds" , key , key_len , (int )offset , val , val_len );
1150
+ REDIS_PROCESS_REQUEST (redis_sock , cmd , cmd_len );
1151
+ IF_ATOMIC () {
1152
+ redis_long_response (INTERNAL_FUNCTION_PARAM_PASSTHRU , redis_sock , NULL , NULL );
1153
+ }
1154
+ REDIS_PROCESS_RESPONSE (redis_long_response );
1155
+ }
1156
+
1130
1157
PHP_METHOD (Redis , strlen )
1131
1158
{
1132
1159
zval * object ;
0 commit comments