@@ -1190,6 +1190,7 @@ static PHP_METHOD(Memcached, __construct)
1190
1190
1191
1191
zend_bool is_persistent = 0 ;
1192
1192
1193
+ /* |S!f!S */
1193
1194
ZEND_PARSE_PARAMETERS_START (0 , 3 )
1194
1195
Z_PARAM_OPTIONAL
1195
1196
Z_PARAM_STR_EX (persistent_id , 1 , 0 )
@@ -1422,15 +1423,17 @@ void php_memc_get_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
1422
1423
MEMC_METHOD_INIT_VARS ;
1423
1424
1424
1425
if (by_key ) {
1425
- ZEND_PARSE_PARAMETERS_START (2 , 5 )
1426
+ /* SS|f!l */
1427
+ ZEND_PARSE_PARAMETERS_START (2 , 4 )
1426
1428
Z_PARAM_STR (server_key )
1427
1429
Z_PARAM_STR (key )
1428
1430
Z_PARAM_OPTIONAL
1429
1431
Z_PARAM_FUNC_EX (fci , fcc , 1 , 0 )
1430
1432
Z_PARAM_LONG (get_flags )
1431
1433
ZEND_PARSE_PARAMETERS_END ();
1432
1434
} else {
1433
- ZEND_PARSE_PARAMETERS_START (1 , 4 )
1435
+ /* S|f!l */
1436
+ ZEND_PARSE_PARAMETERS_START (1 , 3 )
1434
1437
Z_PARAM_STR (key )
1435
1438
Z_PARAM_OPTIONAL
1436
1439
Z_PARAM_FUNC_EX (fci , fcc , 1 , 0 )
@@ -2045,22 +2048,34 @@ static void php_memc_cas_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
2045
2048
zend_string * key ;
2046
2049
zend_string * server_key = NULL ;
2047
2050
zval * value ;
2048
- time_t expiration = 0 ;
2051
+ zend_long expiration = 0 ;
2052
+ zend_long ignored ;
2049
2053
zend_string * payload ;
2050
2054
uint32_t flags = 0 ;
2051
2055
memcached_return status ;
2052
2056
MEMC_METHOD_INIT_VARS ;
2053
2057
2054
2058
if (by_key ) {
2055
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "zSSz|ll" , & zv_cas , & server_key , & key ,
2056
- & value , & expiration ) == FAILURE ) {
2057
- return ;
2058
- }
2059
+ /* zSSz|ll */
2060
+ ZEND_PARSE_PARAMETERS_START (4 , 6 )
2061
+ Z_PARAM_ZVAL (zv_cas )
2062
+ Z_PARAM_STR (server_key )
2063
+ Z_PARAM_STR (key )
2064
+ Z_PARAM_ZVAL (value )
2065
+ Z_PARAM_OPTIONAL
2066
+ Z_PARAM_LONG (expiration )
2067
+ Z_PARAM_LONG (ignored )
2068
+ ZEND_PARSE_PARAMETERS_END ();
2059
2069
} else {
2060
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "zSz|ll" , & zv_cas , & key , & value ,
2061
- & expiration ) == FAILURE ) {
2062
- return ;
2063
- }
2070
+ /* zSz|ll */
2071
+ ZEND_PARSE_PARAMETERS_START (3 , 5 )
2072
+ Z_PARAM_ZVAL (zv_cas )
2073
+ Z_PARAM_STR (key )
2074
+ Z_PARAM_ZVAL (value )
2075
+ Z_PARAM_OPTIONAL
2076
+ Z_PARAM_LONG (expiration )
2077
+ Z_PARAM_LONG (ignored )
2078
+ ZEND_PARSE_PARAMETERS_END ();
2064
2079
}
2065
2080
2066
2081
MEMC_METHOD_FETCH_OBJECT ;
@@ -2142,18 +2157,25 @@ PHP_METHOD(Memcached, deleteMultiByKey)
2142
2157
static void php_memc_delete_impl (INTERNAL_FUNCTION_PARAMETERS , zend_bool by_key )
2143
2158
{
2144
2159
zend_string * key , * server_key ;
2145
- time_t expiration = 0 ;
2160
+ zend_long expiration = 0 ;
2146
2161
memcached_return status ;
2147
2162
MEMC_METHOD_INIT_VARS ;
2148
2163
2149
2164
if (by_key ) {
2150
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "SS|l" , & server_key , & key , & expiration ) == FAILURE ) {
2151
- return ;
2152
- }
2165
+ /* SS|l */
2166
+ ZEND_PARSE_PARAMETERS_START (2 , 3 )
2167
+ Z_PARAM_STR (server_key )
2168
+ Z_PARAM_STR (key )
2169
+ Z_PARAM_OPTIONAL
2170
+ Z_PARAM_LONG (expiration )
2171
+ ZEND_PARSE_PARAMETERS_END ();
2153
2172
} else {
2154
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "S|l" , & key , & expiration ) == FAILURE ) {
2155
- return ;
2156
- }
2173
+ /* S|l */
2174
+ ZEND_PARSE_PARAMETERS_START (1 , 2 )
2175
+ Z_PARAM_STR (key )
2176
+ Z_PARAM_OPTIONAL
2177
+ Z_PARAM_LONG (expiration )
2178
+ ZEND_PARSE_PARAMETERS_END ();
2157
2179
server_key = key ;
2158
2180
}
2159
2181
@@ -2181,20 +2203,27 @@ static void php_memc_deleteMulti_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by
2181
2203
{
2182
2204
zval * entries , * zv , ret ;
2183
2205
zend_string * server_key = NULL ;
2184
- time_t expiration = 0 ;
2206
+ zend_long expiration = 0 ;
2185
2207
zend_string * entry ;
2186
2208
2187
2209
memcached_return status ;
2188
2210
MEMC_METHOD_INIT_VARS ;
2189
2211
2190
2212
if (by_key ) {
2191
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "Sa/|l" , & server_key , & entries , & expiration ) == FAILURE ) {
2192
- return ;
2193
- }
2213
+ /* Sa/|l */
2214
+ ZEND_PARSE_PARAMETERS_START (2 , 3 )
2215
+ Z_PARAM_STR (server_key )
2216
+ Z_PARAM_ARRAY_EX (entries , 0 , 1 )
2217
+ Z_PARAM_OPTIONAL
2218
+ Z_PARAM_LONG (expiration )
2219
+ ZEND_PARSE_PARAMETERS_END ();
2194
2220
} else {
2195
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "a/|l" , & entries , & expiration ) == FAILURE ) {
2196
- return ;
2197
- }
2221
+ /* a/|l */
2222
+ ZEND_PARSE_PARAMETERS_START (1 , 2 )
2223
+ Z_PARAM_ARRAY_EX (entries , 0 , 1 )
2224
+ Z_PARAM_OPTIONAL
2225
+ Z_PARAM_LONG (expiration )
2226
+ ZEND_PARSE_PARAMETERS_END ();
2198
2227
}
2199
2228
2200
2229
MEMC_METHOD_FETCH_OBJECT ;
@@ -2364,13 +2393,17 @@ PHP_METHOD(Memcached, incrementByKey)
2364
2393
PHP_METHOD (Memcached , addServer )
2365
2394
{
2366
2395
zend_string * host ;
2367
- long port , weight = 0 ;
2396
+ zend_long port , weight = 0 ;
2368
2397
memcached_return status ;
2369
2398
MEMC_METHOD_INIT_VARS ;
2370
2399
2371
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "Sl|l" , & host , & port , & weight ) == FAILURE ) {
2372
- return ;
2373
- }
2400
+ /* Sa/|l */
2401
+ ZEND_PARSE_PARAMETERS_START (2 , 3 )
2402
+ Z_PARAM_STR (host )
2403
+ Z_PARAM_LONG (port )
2404
+ Z_PARAM_OPTIONAL
2405
+ Z_PARAM_LONG (weight )
2406
+ ZEND_PARSE_PARAMETERS_END ();
2374
2407
2375
2408
MEMC_METHOD_FETCH_OBJECT ;
2376
2409
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2398,9 +2431,10 @@ PHP_METHOD(Memcached, addServers)
2398
2431
memcached_return status ;
2399
2432
MEMC_METHOD_INIT_VARS ;
2400
2433
2401
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "a/" , & servers ) == FAILURE ) {
2402
- return ;
2403
- }
2434
+ /* a/ */
2435
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
2436
+ Z_PARAM_ARRAY_EX (servers , 0 , 1 )
2437
+ ZEND_PARSE_PARAMETERS_END ();
2404
2438
2405
2439
MEMC_METHOD_FETCH_OBJECT ;
2406
2440
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2502,9 +2536,10 @@ PHP_METHOD(Memcached, getServerByKey)
2502
2536
memcached_return error ;
2503
2537
MEMC_METHOD_INIT_VARS ;
2504
2538
2505
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "S" , & server_key ) == FAILURE ) {
2506
- return ;
2507
- }
2539
+ /* S */
2540
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
2541
+ Z_PARAM_STR (server_key )
2542
+ ZEND_PARSE_PARAMETERS_END ();
2508
2543
2509
2544
MEMC_METHOD_FETCH_OBJECT ;
2510
2545
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2722,9 +2757,11 @@ PHP_METHOD(Memcached, getStats)
2722
2757
zend_string * args_string = NULL ;
2723
2758
MEMC_METHOD_INIT_VARS ;
2724
2759
2725
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "|S!" , & args_string ) == FAILURE ) {
2726
- return ;
2727
- }
2760
+ /* |S! */
2761
+ ZEND_PARSE_PARAMETERS_START (0 , 1 )
2762
+ Z_PARAM_OPTIONAL
2763
+ Z_PARAM_STR_EX (args_string , 1 , 0 )
2764
+ ZEND_PARSE_PARAMETERS_END ();
2728
2765
2729
2766
MEMC_METHOD_FETCH_OBJECT ;
2730
2767
@@ -2808,13 +2845,15 @@ PHP_METHOD(Memcached, getAllKeys)
2808
2845
Flushes the data on all the servers */
2809
2846
static PHP_METHOD (Memcached , flush )
2810
2847
{
2811
- time_t delay = 0 ;
2848
+ zend_long delay = 0 ;
2812
2849
memcached_return status ;
2813
2850
MEMC_METHOD_INIT_VARS ;
2814
2851
2815
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "|l" , & delay ) == FAILURE ) {
2816
- return ;
2817
- }
2852
+ /* |l */
2853
+ ZEND_PARSE_PARAMETERS_START (0 , 1 )
2854
+ Z_PARAM_OPTIONAL
2855
+ Z_PARAM_LONG (delay )
2856
+ ZEND_PARSE_PARAMETERS_END ();
2818
2857
2819
2858
MEMC_METHOD_FETCH_OBJECT ;
2820
2859
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2832,14 +2871,15 @@ static PHP_METHOD(Memcached, flush)
2832
2871
Returns the value for the given option constant */
2833
2872
static PHP_METHOD (Memcached , getOption )
2834
2873
{
2835
- long option ;
2874
+ zend_long option ;
2836
2875
uint64_t result ;
2837
2876
memcached_behavior flag ;
2838
2877
MEMC_METHOD_INIT_VARS ;
2839
2878
2840
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & option ) == FAILURE ) {
2841
- return ;
2842
- }
2879
+ /* l */
2880
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
2881
+ Z_PARAM_LONG (option )
2882
+ ZEND_PARSE_PARAMETERS_END ();
2843
2883
2844
2884
MEMC_METHOD_FETCH_OBJECT ;
2845
2885
@@ -3081,17 +3121,20 @@ PHP_METHOD(Memcached, setBucket)
3081
3121
{
3082
3122
zval * zserver_map ;
3083
3123
zval * zforward_map = NULL ;
3084
- long replicas = 0 ;
3124
+ zend_long replicas = 0 ;
3085
3125
zend_bool retval = 1 ;
3086
3126
3087
3127
uint32_t * server_map = NULL , * forward_map = NULL ;
3088
3128
size_t server_map_len = 0 , forward_map_len = 0 ;
3089
3129
memcached_return rc ;
3090
3130
MEMC_METHOD_INIT_VARS ;
3091
3131
3092
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "aa!l" , & zserver_map , & zforward_map , & replicas ) == FAILURE ) {
3093
- return ;
3094
- }
3132
+ /* aa!l */
3133
+ ZEND_PARSE_PARAMETERS_START (3 , 3 )
3134
+ Z_PARAM_ARRAY (zserver_map )
3135
+ Z_PARAM_ARRAY_EX (zforward_map , 1 , 0 )
3136
+ Z_PARAM_LONG (replicas )
3137
+ ZEND_PARSE_PARAMETERS_END ();
3095
3138
3096
3139
MEMC_METHOD_FETCH_OBJECT ;
3097
3140
@@ -3152,9 +3195,11 @@ static PHP_METHOD(Memcached, setOptions)
3152
3195
3153
3196
MEMC_METHOD_INIT_VARS ;
3154
3197
3155
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "a" , & options ) == FAILURE ) {
3156
- return ;
3157
- }
3198
+ /* a */
3199
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
3200
+ Z_PARAM_ARRAY (options )
3201
+ ZEND_PARSE_PARAMETERS_END ();
3202
+
3158
3203
3159
3204
MEMC_METHOD_FETCH_OBJECT ;
3160
3205
@@ -3177,13 +3222,15 @@ static PHP_METHOD(Memcached, setOptions)
3177
3222
Sets the value for the given option constant */
3178
3223
static PHP_METHOD (Memcached , setOption )
3179
3224
{
3180
- long option ;
3225
+ zend_long option ;
3181
3226
zval * value ;
3182
3227
MEMC_METHOD_INIT_VARS ;
3183
3228
3184
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "lz/" , & option , & value ) == FAILURE ) {
3185
- return ;
3186
- }
3229
+ /* lz/ */
3230
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
3231
+ Z_PARAM_LONG (option )
3232
+ Z_PARAM_ZVAL_EX (value , 0 , 1 )
3233
+ ZEND_PARSE_PARAMETERS_END ();
3187
3234
3188
3235
MEMC_METHOD_FETCH_OBJECT ;
3189
3236
@@ -3200,9 +3247,11 @@ static PHP_METHOD(Memcached, setSaslAuthData)
3200
3247
memcached_return status ;
3201
3248
zend_string * user , * pass ;
3202
3249
3203
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "SS" , & user , & pass ) == FAILURE ) {
3204
- return ;
3205
- }
3250
+ /* SS/ */
3251
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
3252
+ Z_PARAM_STR (user )
3253
+ Z_PARAM_STR (pass )
3254
+ ZEND_PARSE_PARAMETERS_END ();
3206
3255
3207
3256
if (!php_memc_init_sasl_if_needed ()) {
3208
3257
RETURN_FALSE ;
@@ -3684,9 +3733,10 @@ PHP_METHOD(MemcachedServer, run)
3684
3733
php_memc_server_t * intern ;
3685
3734
intern = Z_MEMC_SERVER_P (getThis ());
3686
3735
3687
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "S" , & address ) == FAILURE ) {
3688
- return ;
3689
- }
3736
+ /* S */
3737
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
3738
+ Z_PARAM_STR (address )
3739
+ ZEND_PARSE_PARAMETERS_END ();
3690
3740
3691
3741
rc = php_memc_proto_handler_run (intern -> handler , address );
3692
3742
@@ -3705,9 +3755,11 @@ PHP_METHOD(MemcachedServer, on)
3705
3755
zend_fcall_info_cache fci_cache ;
3706
3756
zend_bool rc = 0 ;
3707
3757
3708
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "lf!" , & event , & fci , & fci_cache ) == FAILURE ) {
3709
- return ;
3710
- }
3758
+ /* lf! */
3759
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
3760
+ Z_PARAM_LONG (event )
3761
+ Z_PARAM_FUNC_EX (fci , fci_cache , 1 , 0 )
3762
+ ZEND_PARSE_PARAMETERS_END ();
3711
3763
3712
3764
if (event <= MEMC_SERVER_ON_MIN || event >= MEMC_SERVER_ON_MAX ) {
3713
3765
RETURN_FALSE ;
0 commit comments