@@ -68,9 +68,11 @@ PHP_INI_BEGIN()
6868 PHP_INI_ENTRY ("redis.clusters.read_timeout" , "" , PHP_INI_ALL , NULL )
6969PHP_INI_END ()
7070
71+ /** Argument info for any function expecting 0 args */
7172ZEND_BEGIN_ARG_INFO_EX (arginfo_void , 0 , 0 , 0 )
7273ZEND_END_ARG_INFO ()
7374
75+ /** {{{ Argument info for commands in redis 1.0 */
7476ZEND_BEGIN_ARG_INFO_EX (arginfo_connect , 0 , 0 , 2 )
7577 ZEND_ARG_INFO (0 , host )
7678 ZEND_ARG_INFO (0 , port )
@@ -99,12 +101,6 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_set, 0, 0, 2)
99101 ZEND_ARG_INFO (0 , opt )
100102ZEND_END_ARG_INFO ()
101103
102- ZEND_BEGIN_ARG_INFO_EX (arginfo_setex , 0 , 0 , 3 )
103- ZEND_ARG_INFO (0 , key )
104- ZEND_ARG_INFO (0 , expire )
105- ZEND_ARG_INFO (0 , value )
106- ZEND_END_ARG_INFO ()
107-
108104ZEND_BEGIN_ARG_INFO_EX (arginfo_key_expire_value , 0 , 0 , 3 )
109105 ZEND_ARG_INFO (0 , key )
110106 ZEND_ARG_INFO (0 , expire )
@@ -126,7 +122,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_mget, 0, 0, 1)
126122ZEND_END_ARG_INFO ()
127123
128124ZEND_BEGIN_ARG_INFO_EX (arginfo_del , 0 , 0 , 1 )
125+ ZEND_ARG_INFO (0 , key )
126+ #if PHP_VERSION_ID >= 50600
127+ ZEND_ARG_VARIADIC_INFO (0 , other_keys )
128+ #else
129129 ZEND_ARG_INFO (0 , ...)
130+ #endif
130131ZEND_END_ARG_INFO ()
131132
132133ZEND_BEGIN_ARG_INFO_EX (arginfo_key_start_end , 0 , 0 , 3 )
@@ -165,8 +166,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_generic_sort, 0, 0, 1)
165166ZEND_END_ARG_INFO ()
166167
167168ZEND_BEGIN_ARG_INFO_EX (arginfo_blrpop , 0 , 0 , 2 )
168- ZEND_ARG_INFO (0 , ...)
169- ZEND_ARG_INFO (0 , timeout )
169+ ZEND_ARG_INFO (0 , key )
170+ ZEND_ARG_INFO (0 , timeout_or_key )
171+ // Can't have variadic keys before timeout.
172+ #if PHP_VERSION_ID >= 50600
173+ ZEND_ARG_VARIADIC_INFO (0 , extra_args )
174+ #endif
170175ZEND_END_ARG_INFO ()
171176
172177ZEND_BEGIN_ARG_INFO_EX (arginfo_lrem , 0 , 0 , 3 )
@@ -217,13 +222,17 @@ ZEND_END_ARG_INFO()
217222
218223ZEND_BEGIN_ARG_INFO_EX (arginfo_nkeys , 0 , 0 , 1 )
219224 ZEND_ARG_INFO (0 , key )
220- ZEND_ARG_INFO (0 , ...)
225+ #if PHP_VERSION_ID >= 50600
226+ ZEND_ARG_VARIADIC_INFO (0 , other_keys )
227+ #endif
221228ZEND_END_ARG_INFO ()
222229
223230ZEND_BEGIN_ARG_INFO_EX (arginfo_dst_nkeys , 0 , 0 , 2 )
224231 ZEND_ARG_INFO (0 , dst )
225232 ZEND_ARG_INFO (0 , key )
226- ZEND_ARG_INFO (0 , ...)
233+ #if PHP_VERSION_ID >= 50600
234+ ZEND_ARG_VARIADIC_INFO (0 , other_keys )
235+ #endif
227236ZEND_END_ARG_INFO ()
228237
229238ZEND_BEGIN_ARG_INFO_EX (arginfo_set_timeout , 0 , 0 , 2 )
@@ -234,6 +243,59 @@ ZEND_END_ARG_INFO()
234243ZEND_BEGIN_ARG_INFO_EX (arginfo_auth , 0 , 0 , 1 )
235244 ZEND_ARG_INFO (0 , password )
236245ZEND_END_ARG_INFO ()
246+
247+ ZEND_BEGIN_ARG_INFO_EX (arginfo_info , 0 , 0 , 0 )
248+ ZEND_ARG_INFO (0 , option )
249+ ZEND_END_ARG_INFO ()
250+
251+ ZEND_BEGIN_ARG_INFO_EX (arginfo_select , 0 , 0 , 1 )
252+ ZEND_ARG_INFO (0 , dbindex )
253+ ZEND_END_ARG_INFO ()
254+
255+ ZEND_BEGIN_ARG_INFO_EX (arginfo_move , 0 , 0 , 2 )
256+ ZEND_ARG_INFO (0 , key )
257+ ZEND_ARG_INFO (0 , dbindex )
258+ ZEND_END_ARG_INFO ()
259+
260+ ZEND_BEGIN_ARG_INFO_EX (arginfo_slaveof , 0 , 0 , 0 )
261+ ZEND_ARG_INFO (0 , host )
262+ ZEND_ARG_INFO (0 , port )
263+ ZEND_END_ARG_INFO ()
264+
265+ ZEND_BEGIN_ARG_INFO_EX (arginfo_object , 0 , 0 , 2 )
266+ ZEND_ARG_INFO (0 , field )
267+ ZEND_ARG_INFO (0 , key )
268+ ZEND_END_ARG_INFO ()
269+
270+ ZEND_BEGIN_ARG_INFO_EX (arginfo_bitop , 0 , 0 , 3 )
271+ ZEND_ARG_INFO (0 , operation )
272+ ZEND_ARG_INFO (0 , ret_key )
273+ ZEND_ARG_INFO (0 , key )
274+ #if PHP_VERSION_ID >= 50600
275+ ZEND_ARG_VARIADIC_INFO (0 , other_keys )
276+ #endif
277+ ZEND_END_ARG_INFO ()
278+
279+ ZEND_BEGIN_ARG_INFO_EX (arginfo_bitpos , 0 , 0 , 2 )
280+ ZEND_ARG_INFO (0 , key )
281+ ZEND_ARG_INFO (0 , bit )
282+ ZEND_ARG_INFO (0 , start )
283+ ZEND_ARG_INFO (0 , end )
284+ ZEND_END_ARG_INFO ()
285+
286+ ZEND_BEGIN_ARG_INFO_EX (arginfo_eval , 0 , 0 , 1 )
287+ ZEND_ARG_INFO (0 , script )
288+ ZEND_ARG_INFO (0 , args )
289+ ZEND_ARG_INFO (0 , num_keys )
290+ ZEND_END_ARG_INFO ()
291+
292+ ZEND_BEGIN_ARG_INFO_EX (arginfo_evalsha , 0 , 0 , 1 )
293+ ZEND_ARG_INFO (0 , script_sha )
294+ ZEND_ARG_INFO (0 , args )
295+ ZEND_ARG_INFO (0 , num_keys )
296+ ZEND_END_ARG_INFO ()
297+ /* }}} */
298+
237299/**
238300 * Argument info for the SCAN proper
239301 */
@@ -336,15 +398,15 @@ static zend_function_entry redis_functions[] = {
336398 PHP_ME (Redis , ttl , arginfo_key , ZEND_ACC_PUBLIC )
337399 PHP_ME (Redis , pttl , arginfo_key , ZEND_ACC_PUBLIC )
338400 PHP_ME (Redis , persist , arginfo_key , ZEND_ACC_PUBLIC )
339- PHP_ME (Redis , info , NULL , ZEND_ACC_PUBLIC )
340- PHP_ME (Redis , select , NULL , ZEND_ACC_PUBLIC )
341- PHP_ME (Redis , move , NULL , ZEND_ACC_PUBLIC )
401+ PHP_ME (Redis , info , arginfo_info , ZEND_ACC_PUBLIC )
402+ PHP_ME (Redis , select , arginfo_select , ZEND_ACC_PUBLIC )
403+ PHP_ME (Redis , move , arginfo_move , ZEND_ACC_PUBLIC )
342404 PHP_ME (Redis , bgrewriteaof , arginfo_void , ZEND_ACC_PUBLIC )
343- PHP_ME (Redis , slaveof , NULL , ZEND_ACC_PUBLIC )
344- PHP_ME (Redis , object , NULL , ZEND_ACC_PUBLIC )
345- PHP_ME (Redis , bitop , NULL , ZEND_ACC_PUBLIC )
346- PHP_ME (Redis , bitcount , NULL , ZEND_ACC_PUBLIC )
347- PHP_ME (Redis , bitpos , NULL , ZEND_ACC_PUBLIC )
405+ PHP_ME (Redis , slaveof , arginfo_slaveof , ZEND_ACC_PUBLIC )
406+ PHP_ME (Redis , object , arginfo_object , ZEND_ACC_PUBLIC )
407+ PHP_ME (Redis , bitop , arginfo_bitop , ZEND_ACC_PUBLIC )
408+ PHP_ME (Redis , bitcount , arginfo_key , ZEND_ACC_PUBLIC )
409+ PHP_ME (Redis , bitpos , arginfo_bitpos , ZEND_ACC_PUBLIC )
348410
349411 /* 1.1 */
350412 PHP_ME (Redis , mset , NULL , ZEND_ACC_PUBLIC )
@@ -404,19 +466,19 @@ static zend_function_entry redis_functions[] = {
404466 PHP_ME (Redis , unsubscribe , NULL , ZEND_ACC_PUBLIC )
405467 PHP_ME (Redis , punsubscribe , NULL , ZEND_ACC_PUBLIC )
406468
407- PHP_ME (Redis , time , NULL , ZEND_ACC_PUBLIC )
469+ PHP_ME (Redis , time , arginfo_void , ZEND_ACC_PUBLIC )
408470 PHP_ME (Redis , role , NULL , ZEND_ACC_PUBLIC )
409- PHP_ME (Redis , eval , NULL , ZEND_ACC_PUBLIC )
410- PHP_ME (Redis , evalsha , NULL , ZEND_ACC_PUBLIC )
471+ PHP_ME (Redis , eval , arginfo_eval , ZEND_ACC_PUBLIC )
472+ PHP_ME (Redis , evalsha , arginfo_evalsha , ZEND_ACC_PUBLIC )
411473 PHP_ME (Redis , script , NULL , ZEND_ACC_PUBLIC )
412474
413475 PHP_ME (Redis , debug , NULL , ZEND_ACC_PUBLIC )
414476 PHP_ME (Redis , dump , NULL , ZEND_ACC_PUBLIC )
415477 PHP_ME (Redis , restore , NULL , ZEND_ACC_PUBLIC )
416478 PHP_ME (Redis , migrate , NULL , ZEND_ACC_PUBLIC )
417479
418- PHP_ME (Redis , getLastError , NULL , ZEND_ACC_PUBLIC )
419- PHP_ME (Redis , clearLastError , NULL , ZEND_ACC_PUBLIC )
480+ PHP_ME (Redis , getLastError , arginfo_void , ZEND_ACC_PUBLIC )
481+ PHP_ME (Redis , clearLastError , arginfo_void , ZEND_ACC_PUBLIC )
420482
421483 PHP_ME (Redis , _prefix , NULL , ZEND_ACC_PUBLIC )
422484 PHP_ME (Redis , _serialize , NULL , ZEND_ACC_PUBLIC )
@@ -458,24 +520,25 @@ static zend_function_entry redis_functions[] = {
458520 PHP_ME (Redis , georadiusbymember , NULL , ZEND_ACC_PUBLIC )
459521
460522 /* introspection */
461- PHP_ME (Redis , getHost , NULL , ZEND_ACC_PUBLIC )
462- PHP_ME (Redis , getPort , NULL , ZEND_ACC_PUBLIC )
463- PHP_ME (Redis , getDBNum , NULL , ZEND_ACC_PUBLIC )
464- PHP_ME (Redis , getTimeout , NULL , ZEND_ACC_PUBLIC )
465- PHP_ME (Redis , getReadTimeout , NULL , ZEND_ACC_PUBLIC )
466- PHP_ME (Redis , getPersistentID , NULL , ZEND_ACC_PUBLIC )
467- PHP_ME (Redis , getAuth , NULL , ZEND_ACC_PUBLIC )
468- PHP_ME (Redis , isConnected , NULL , ZEND_ACC_PUBLIC )
523+ PHP_ME (Redis , getHost , arginfo_void , ZEND_ACC_PUBLIC )
524+ PHP_ME (Redis , getPort , arginfo_void , ZEND_ACC_PUBLIC )
525+ PHP_ME (Redis , getDBNum , arginfo_void , ZEND_ACC_PUBLIC )
526+ PHP_ME (Redis , getTimeout , arginfo_void , ZEND_ACC_PUBLIC )
527+ PHP_ME (Redis , getReadTimeout , arginfo_void , ZEND_ACC_PUBLIC )
528+ PHP_ME (Redis , getPersistentID , arginfo_void , ZEND_ACC_PUBLIC )
529+ PHP_ME (Redis , getAuth , arginfo_void , ZEND_ACC_PUBLIC )
530+ PHP_ME (Redis , isConnected , arginfo_void , ZEND_ACC_PUBLIC )
531+ /* TODO: document getMode() and wait() in README? */
469532 PHP_ME (Redis , getMode , NULL , ZEND_ACC_PUBLIC )
470533 PHP_ME (Redis , wait , NULL , ZEND_ACC_PUBLIC )
471534 PHP_ME (Redis , pubsub , NULL , ZEND_ACC_PUBLIC )
472535
473536 /* aliases */
474- PHP_MALIAS (Redis , open , connect , NULL , ZEND_ACC_PUBLIC )
475- PHP_MALIAS (Redis , popen , pconnect , NULL , ZEND_ACC_PUBLIC )
537+ PHP_MALIAS (Redis , open , connect , arginfo_connect , ZEND_ACC_PUBLIC )
538+ PHP_MALIAS (Redis , popen , pconnect , arginfo_pconnect , ZEND_ACC_PUBLIC )
476539 PHP_MALIAS (Redis , lLen , lSize , NULL , ZEND_ACC_PUBLIC )
477540 PHP_MALIAS (Redis , sGetMembers , sMembers , NULL , ZEND_ACC_PUBLIC )
478- PHP_MALIAS (Redis , mget , getMultiple , NULL , ZEND_ACC_PUBLIC )
541+ PHP_MALIAS (Redis , mget , getMultiple , arginfo_mget , ZEND_ACC_PUBLIC )
479542 PHP_MALIAS (Redis , expire , setTimeout , NULL , ZEND_ACC_PUBLIC )
480543 PHP_MALIAS (Redis , zunionstore , zUnion , NULL , ZEND_ACC_PUBLIC )
481544 PHP_MALIAS (Redis , zinterstore , zInter , NULL , ZEND_ACC_PUBLIC )
@@ -486,9 +549,9 @@ static zend_function_entry redis_functions[] = {
486549 PHP_MALIAS (Redis , zRemRangeByScore , zDeleteRangeByScore , NULL , ZEND_ACC_PUBLIC )
487550 PHP_MALIAS (Redis , zRemRangeByRank , zDeleteRangeByRank , NULL , ZEND_ACC_PUBLIC )
488551 PHP_MALIAS (Redis , zSize , zCard , NULL , ZEND_ACC_PUBLIC )
489- PHP_MALIAS (Redis , substr , getRange , NULL , ZEND_ACC_PUBLIC )
490- PHP_MALIAS (Redis , rename , renameKey , NULL , ZEND_ACC_PUBLIC )
491- PHP_MALIAS (Redis , del , delete , NULL , ZEND_ACC_PUBLIC )
552+ PHP_MALIAS (Redis , substr , getRange , arginfo_key_start_end , ZEND_ACC_PUBLIC )
553+ PHP_MALIAS (Redis , rename , renameKey , arginfo_key_newkey , ZEND_ACC_PUBLIC )
554+ PHP_MALIAS (Redis , del , delete , arginfo_del , ZEND_ACC_PUBLIC )
492555 PHP_MALIAS (Redis , keys , getKeys , NULL , ZEND_ACC_PUBLIC )
493556 PHP_MALIAS (Redis , lrem , lRemove , NULL , ZEND_ACC_PUBLIC )
494557 PHP_MALIAS (Redis , ltrim , listTrim , NULL , ZEND_ACC_PUBLIC )
@@ -499,10 +562,10 @@ static zend_function_entry redis_functions[] = {
499562 PHP_MALIAS (Redis , sismember , sContains , NULL , ZEND_ACC_PUBLIC )
500563 PHP_MALIAS (Redis , zReverseRange , zRevRange , NULL , ZEND_ACC_PUBLIC )
501564
502- PHP_MALIAS (Redis , sendEcho , echo , NULL , ZEND_ACC_PUBLIC )
565+ PHP_MALIAS (Redis , sendEcho , echo , arginfo_echo , ZEND_ACC_PUBLIC )
503566
504- PHP_MALIAS (Redis , evaluate , eval , NULL , ZEND_ACC_PUBLIC )
505- PHP_MALIAS (Redis , evaluateSha , evalsha , NULL , ZEND_ACC_PUBLIC )
567+ PHP_MALIAS (Redis , evaluate , eval , arginfo_eval , ZEND_ACC_PUBLIC )
568+ PHP_MALIAS (Redis , evaluateSha , evalsha , arginfo_evalsha , ZEND_ACC_PUBLIC )
506569 PHP_FE_END
507570};
508571
@@ -1317,11 +1380,13 @@ PHP_METHOD(Redis, getRange)
13171380}
13181381/* }}} */
13191382
1383+ /* {{{ proto string Redis::setRange(string key, long start, string value) */
13201384PHP_METHOD (Redis , setRange )
13211385{
13221386 REDIS_PROCESS_KW_CMD ("SETRANGE" , redis_key_long_str_cmd ,
13231387 redis_long_response );
13241388}
1389+ /* }}} */
13251390
13261391/* {{{ proto long Redis::getbit(string key, long idx) */
13271392PHP_METHOD (Redis , getBit )
@@ -1330,10 +1395,12 @@ PHP_METHOD(Redis, getBit)
13301395}
13311396/* }}} */
13321397
1398+ /* {{{ proto long Redis::setbit(string key, long idx, bool|int value) */
13331399PHP_METHOD (Redis , setBit )
13341400{
13351401 REDIS_PROCESS_CMD (setbit , redis_long_response );
13361402}
1403+ /* }}} */
13371404
13381405/* {{{ proto long Redis::strlen(string key) */
13391406PHP_METHOD (Redis , strlen )
0 commit comments