@@ -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,10 @@ 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 )
129- ZEND_ARG_INFO (0 , ...)
125+ ZEND_ARG_INFO (0 , key )
126+ #if PHP_VERSION_ID >= 50600
127+ ZEND_ARG_VARIADIC_INFO (0 , other_keys )
128+ #endif
130129ZEND_END_ARG_INFO ()
131130
132131ZEND_BEGIN_ARG_INFO_EX (arginfo_key_start_end , 0 , 0 , 3 )
@@ -165,8 +164,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_generic_sort, 0, 0, 1)
165164ZEND_END_ARG_INFO ()
166165
167166ZEND_BEGIN_ARG_INFO_EX (arginfo_blrpop , 0 , 0 , 2 )
168- ZEND_ARG_INFO (0 , ...)
169- ZEND_ARG_INFO (0 , timeout )
167+ ZEND_ARG_INFO (0 , key )
168+ ZEND_ARG_INFO (0 , timeout_or_key )
169+ // Can't have variadic keys before timeout.
170+ #if PHP_VERSION_ID >= 50600
171+ ZEND_ARG_VARIADIC_INFO (0 , extra_args )
172+ #endif
170173ZEND_END_ARG_INFO ()
171174
172175ZEND_BEGIN_ARG_INFO_EX (arginfo_lrem , 0 , 0 , 3 )
@@ -217,13 +220,17 @@ ZEND_END_ARG_INFO()
217220
218221ZEND_BEGIN_ARG_INFO_EX (arginfo_nkeys , 0 , 0 , 1 )
219222 ZEND_ARG_INFO (0 , key )
220- ZEND_ARG_INFO (0 , ...)
223+ #if PHP_VERSION_ID >= 50600
224+ ZEND_ARG_VARIADIC_INFO (0 , other_keys )
225+ #endif
221226ZEND_END_ARG_INFO ()
222227
223228ZEND_BEGIN_ARG_INFO_EX (arginfo_dst_nkeys , 0 , 0 , 2 )
224229 ZEND_ARG_INFO (0 , dst )
225230 ZEND_ARG_INFO (0 , key )
226- ZEND_ARG_INFO (0 , ...)
231+ #if PHP_VERSION_ID >= 50600
232+ ZEND_ARG_VARIADIC_INFO (0 , other_keys )
233+ #endif
227234ZEND_END_ARG_INFO ()
228235
229236ZEND_BEGIN_ARG_INFO_EX (arginfo_set_timeout , 0 , 0 , 2 )
@@ -234,6 +241,59 @@ ZEND_END_ARG_INFO()
234241ZEND_BEGIN_ARG_INFO_EX (arginfo_auth , 0 , 0 , 1 )
235242 ZEND_ARG_INFO (0 , password )
236243ZEND_END_ARG_INFO ()
244+
245+ ZEND_BEGIN_ARG_INFO_EX (arginfo_info , 0 , 0 , 0 )
246+ ZEND_ARG_INFO (0 , option )
247+ ZEND_END_ARG_INFO ()
248+
249+ ZEND_BEGIN_ARG_INFO_EX (arginfo_select , 0 , 0 , 1 )
250+ ZEND_ARG_INFO (0 , dbindex )
251+ ZEND_END_ARG_INFO ()
252+
253+ ZEND_BEGIN_ARG_INFO_EX (arginfo_move , 0 , 0 , 2 )
254+ ZEND_ARG_INFO (0 , key )
255+ ZEND_ARG_INFO (0 , dbindex )
256+ ZEND_END_ARG_INFO ()
257+
258+ ZEND_BEGIN_ARG_INFO_EX (arginfo_slaveof , 0 , 0 , 0 )
259+ ZEND_ARG_INFO (0 , host )
260+ ZEND_ARG_INFO (0 , port )
261+ ZEND_END_ARG_INFO ()
262+
263+ ZEND_BEGIN_ARG_INFO_EX (arginfo_object , 0 , 0 , 2 )
264+ ZEND_ARG_INFO (0 , field )
265+ ZEND_ARG_INFO (0 , key )
266+ ZEND_END_ARG_INFO ()
267+
268+ ZEND_BEGIN_ARG_INFO_EX (arginfo_bitop , 0 , 0 , 3 )
269+ ZEND_ARG_INFO (0 , operation )
270+ ZEND_ARG_INFO (0 , ret_key )
271+ ZEND_ARG_INFO (0 , key )
272+ #if PHP_VERSION_ID >= 50600
273+ ZEND_ARG_VARIADIC_INFO (0 , other_keys )
274+ #endif
275+ ZEND_END_ARG_INFO ()
276+
277+ ZEND_BEGIN_ARG_INFO_EX (arginfo_bitpos , 0 , 0 , 2 )
278+ ZEND_ARG_INFO (0 , key )
279+ ZEND_ARG_INFO (0 , bit )
280+ ZEND_ARG_INFO (0 , start )
281+ ZEND_ARG_INFO (0 , end )
282+ ZEND_END_ARG_INFO ()
283+
284+ ZEND_BEGIN_ARG_INFO_EX (arginfo_eval , 0 , 0 , 1 )
285+ ZEND_ARG_INFO (0 , script )
286+ ZEND_ARG_INFO (0 , args )
287+ ZEND_ARG_INFO (0 , num_keys )
288+ ZEND_END_ARG_INFO ()
289+
290+ ZEND_BEGIN_ARG_INFO_EX (arginfo_evalsha , 0 , 0 , 1 )
291+ ZEND_ARG_INFO (0 , script_sha )
292+ ZEND_ARG_INFO (0 , args )
293+ ZEND_ARG_INFO (0 , num_keys )
294+ ZEND_END_ARG_INFO ()
295+ /* }}} */
296+
237297/**
238298 * Argument info for the SCAN proper
239299 */
@@ -336,15 +396,15 @@ static zend_function_entry redis_functions[] = {
336396 PHP_ME (Redis , ttl , arginfo_key , ZEND_ACC_PUBLIC )
337397 PHP_ME (Redis , pttl , arginfo_key , ZEND_ACC_PUBLIC )
338398 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 )
399+ PHP_ME (Redis , info , arginfo_info , ZEND_ACC_PUBLIC )
400+ PHP_ME (Redis , select , arginfo_select , ZEND_ACC_PUBLIC )
401+ PHP_ME (Redis , move , arginfo_move , ZEND_ACC_PUBLIC )
342402 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 )
403+ PHP_ME (Redis , slaveof , arginfo_slaveof , ZEND_ACC_PUBLIC )
404+ PHP_ME (Redis , object , arginfo_object , ZEND_ACC_PUBLIC )
405+ PHP_ME (Redis , bitop , arginfo_bitop , ZEND_ACC_PUBLIC )
406+ PHP_ME (Redis , bitcount , arginfo_key , ZEND_ACC_PUBLIC )
407+ PHP_ME (Redis , bitpos , arginfo_bitpos , ZEND_ACC_PUBLIC )
348408
349409 /* 1.1 */
350410 PHP_ME (Redis , mset , NULL , ZEND_ACC_PUBLIC )
@@ -404,19 +464,19 @@ static zend_function_entry redis_functions[] = {
404464 PHP_ME (Redis , unsubscribe , NULL , ZEND_ACC_PUBLIC )
405465 PHP_ME (Redis , punsubscribe , NULL , ZEND_ACC_PUBLIC )
406466
407- PHP_ME (Redis , time , NULL , ZEND_ACC_PUBLIC )
467+ PHP_ME (Redis , time , arginfo_void , ZEND_ACC_PUBLIC )
408468 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 )
469+ PHP_ME (Redis , eval , arginfo_eval , ZEND_ACC_PUBLIC )
470+ PHP_ME (Redis , evalsha , arginfo_evalsha , ZEND_ACC_PUBLIC )
411471 PHP_ME (Redis , script , NULL , ZEND_ACC_PUBLIC )
412472
413473 PHP_ME (Redis , debug , NULL , ZEND_ACC_PUBLIC )
414474 PHP_ME (Redis , dump , NULL , ZEND_ACC_PUBLIC )
415475 PHP_ME (Redis , restore , NULL , ZEND_ACC_PUBLIC )
416476 PHP_ME (Redis , migrate , NULL , ZEND_ACC_PUBLIC )
417477
418- PHP_ME (Redis , getLastError , NULL , ZEND_ACC_PUBLIC )
419- PHP_ME (Redis , clearLastError , NULL , ZEND_ACC_PUBLIC )
478+ PHP_ME (Redis , getLastError , arginfo_void , ZEND_ACC_PUBLIC )
479+ PHP_ME (Redis , clearLastError , arginfo_void , ZEND_ACC_PUBLIC )
420480
421481 PHP_ME (Redis , _prefix , NULL , ZEND_ACC_PUBLIC )
422482 PHP_ME (Redis , _serialize , NULL , ZEND_ACC_PUBLIC )
@@ -458,24 +518,25 @@ static zend_function_entry redis_functions[] = {
458518 PHP_ME (Redis , georadiusbymember , NULL , ZEND_ACC_PUBLIC )
459519
460520 /* 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 )
521+ PHP_ME (Redis , getHost , arginfo_void , ZEND_ACC_PUBLIC )
522+ PHP_ME (Redis , getPort , arginfo_void , ZEND_ACC_PUBLIC )
523+ PHP_ME (Redis , getDBNum , arginfo_void , ZEND_ACC_PUBLIC )
524+ PHP_ME (Redis , getTimeout , arginfo_void , ZEND_ACC_PUBLIC )
525+ PHP_ME (Redis , getReadTimeout , arginfo_void , ZEND_ACC_PUBLIC )
526+ PHP_ME (Redis , getPersistentID , arginfo_void , ZEND_ACC_PUBLIC )
527+ PHP_ME (Redis , getAuth , arginfo_void , ZEND_ACC_PUBLIC )
528+ PHP_ME (Redis , isConnected , arginfo_void , ZEND_ACC_PUBLIC )
529+ /* TODO: document getMode() and wait() in README? */
469530 PHP_ME (Redis , getMode , NULL , ZEND_ACC_PUBLIC )
470531 PHP_ME (Redis , wait , NULL , ZEND_ACC_PUBLIC )
471532 PHP_ME (Redis , pubsub , NULL , ZEND_ACC_PUBLIC )
472533
473534 /* aliases */
474- PHP_MALIAS (Redis , open , connect , NULL , ZEND_ACC_PUBLIC )
475- PHP_MALIAS (Redis , popen , pconnect , NULL , ZEND_ACC_PUBLIC )
535+ PHP_MALIAS (Redis , open , connect , arginfo_connect , ZEND_ACC_PUBLIC )
536+ PHP_MALIAS (Redis , popen , pconnect , arginfo_pconnect , ZEND_ACC_PUBLIC )
476537 PHP_MALIAS (Redis , lLen , lSize , NULL , ZEND_ACC_PUBLIC )
477538 PHP_MALIAS (Redis , sGetMembers , sMembers , NULL , ZEND_ACC_PUBLIC )
478- PHP_MALIAS (Redis , mget , getMultiple , NULL , ZEND_ACC_PUBLIC )
539+ PHP_MALIAS (Redis , mget , getMultiple , arginfo_mget , ZEND_ACC_PUBLIC )
479540 PHP_MALIAS (Redis , expire , setTimeout , NULL , ZEND_ACC_PUBLIC )
480541 PHP_MALIAS (Redis , zunionstore , zUnion , NULL , ZEND_ACC_PUBLIC )
481542 PHP_MALIAS (Redis , zinterstore , zInter , NULL , ZEND_ACC_PUBLIC )
@@ -486,9 +547,9 @@ static zend_function_entry redis_functions[] = {
486547 PHP_MALIAS (Redis , zRemRangeByScore , zDeleteRangeByScore , NULL , ZEND_ACC_PUBLIC )
487548 PHP_MALIAS (Redis , zRemRangeByRank , zDeleteRangeByRank , NULL , ZEND_ACC_PUBLIC )
488549 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 )
550+ PHP_MALIAS (Redis , substr , getRange , arginfo_key_start_end , ZEND_ACC_PUBLIC )
551+ PHP_MALIAS (Redis , rename , renameKey , arginfo_key_newkey , ZEND_ACC_PUBLIC )
552+ PHP_MALIAS (Redis , del , delete , arginfo_del , ZEND_ACC_PUBLIC )
492553 PHP_MALIAS (Redis , keys , getKeys , NULL , ZEND_ACC_PUBLIC )
493554 PHP_MALIAS (Redis , lrem , lRemove , NULL , ZEND_ACC_PUBLIC )
494555 PHP_MALIAS (Redis , ltrim , listTrim , NULL , ZEND_ACC_PUBLIC )
@@ -499,10 +560,10 @@ static zend_function_entry redis_functions[] = {
499560 PHP_MALIAS (Redis , sismember , sContains , NULL , ZEND_ACC_PUBLIC )
500561 PHP_MALIAS (Redis , zReverseRange , zRevRange , NULL , ZEND_ACC_PUBLIC )
501562
502- PHP_MALIAS (Redis , sendEcho , echo , NULL , ZEND_ACC_PUBLIC )
563+ PHP_MALIAS (Redis , sendEcho , echo , arginfo_echo , ZEND_ACC_PUBLIC )
503564
504- PHP_MALIAS (Redis , evaluate , eval , NULL , ZEND_ACC_PUBLIC )
505- PHP_MALIAS (Redis , evaluateSha , evalsha , NULL , ZEND_ACC_PUBLIC )
565+ PHP_MALIAS (Redis , evaluate , eval , arginfo_eval , ZEND_ACC_PUBLIC )
566+ PHP_MALIAS (Redis , evaluateSha , evalsha , arginfo_evalsha , ZEND_ACC_PUBLIC )
506567 PHP_FE_END
507568};
508569
@@ -1317,11 +1378,13 @@ PHP_METHOD(Redis, getRange)
13171378}
13181379/* }}} */
13191380
1381+ /* {{{ proto string Redis::setRange(string key, long start, string value) */
13201382PHP_METHOD (Redis , setRange )
13211383{
13221384 REDIS_PROCESS_KW_CMD ("SETRANGE" , redis_key_long_str_cmd ,
13231385 redis_long_response );
13241386}
1387+ /* }}} */
13251388
13261389/* {{{ proto long Redis::getbit(string key, long idx) */
13271390PHP_METHOD (Redis , getBit )
@@ -1330,10 +1393,12 @@ PHP_METHOD(Redis, getBit)
13301393}
13311394/* }}} */
13321395
1396+ /* {{{ proto long Redis::setbit(string key, long idx, bool|int value) */
13331397PHP_METHOD (Redis , setBit )
13341398{
13351399 REDIS_PROCESS_CMD (setbit , redis_long_response );
13361400}
1401+ /* }}} */
13371402
13381403/* {{{ proto long Redis::strlen(string key) */
13391404PHP_METHOD (Redis , strlen )
0 commit comments