@@ -1174,6 +1174,7 @@ static PHP_METHOD(Memcached, __construct)
1174
1174
1175
1175
zend_bool is_persistent = 0 ;
1176
1176
1177
+ /* |S!f!S */
1177
1178
ZEND_PARSE_PARAMETERS_START (0 , 3 )
1178
1179
Z_PARAM_OPTIONAL
1179
1180
Z_PARAM_STR_EX (persistent_id , 1 , 0 )
@@ -1406,15 +1407,17 @@ void php_memc_get_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
1406
1407
MEMC_METHOD_INIT_VARS ;
1407
1408
1408
1409
if (by_key ) {
1409
- ZEND_PARSE_PARAMETERS_START (2 , 5 )
1410
+ /* SS|f!l */
1411
+ ZEND_PARSE_PARAMETERS_START (2 , 4 )
1410
1412
Z_PARAM_STR (server_key )
1411
1413
Z_PARAM_STR (key )
1412
1414
Z_PARAM_OPTIONAL
1413
1415
Z_PARAM_FUNC_EX (fci , fcc , 1 , 0 )
1414
1416
Z_PARAM_LONG (get_flags )
1415
1417
ZEND_PARSE_PARAMETERS_END ();
1416
1418
} else {
1417
- ZEND_PARSE_PARAMETERS_START (1 , 4 )
1419
+ /* S|f!l */
1420
+ ZEND_PARSE_PARAMETERS_START (1 , 3 )
1418
1421
Z_PARAM_STR (key )
1419
1422
Z_PARAM_OPTIONAL
1420
1423
Z_PARAM_FUNC_EX (fci , fcc , 1 , 0 )
@@ -2029,22 +2032,34 @@ static void php_memc_cas_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
2029
2032
zend_string * key ;
2030
2033
zend_string * server_key = NULL ;
2031
2034
zval * value ;
2032
- time_t expiration = 0 ;
2035
+ zend_long expiration = 0 ;
2036
+ zend_long ignored ;
2033
2037
zend_string * payload ;
2034
2038
uint32_t flags = 0 ;
2035
2039
memcached_return status ;
2036
2040
MEMC_METHOD_INIT_VARS ;
2037
2041
2038
2042
if (by_key ) {
2039
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "zSSz|ll" , & zv_cas , & server_key , & key ,
2040
- & value , & expiration ) == FAILURE ) {
2041
- return ;
2042
- }
2043
+ /* zSSz|ll */
2044
+ ZEND_PARSE_PARAMETERS_START (4 , 6 )
2045
+ Z_PARAM_ZVAL (zv_cas )
2046
+ Z_PARAM_STR (server_key )
2047
+ Z_PARAM_STR (key )
2048
+ Z_PARAM_ZVAL (value )
2049
+ Z_PARAM_OPTIONAL
2050
+ Z_PARAM_LONG (expiration )
2051
+ Z_PARAM_LONG (ignored )
2052
+ ZEND_PARSE_PARAMETERS_END ();
2043
2053
} else {
2044
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "zSz|ll" , & zv_cas , & key , & value ,
2045
- & expiration ) == FAILURE ) {
2046
- return ;
2047
- }
2054
+ /* zSz|ll */
2055
+ ZEND_PARSE_PARAMETERS_START (3 , 5 )
2056
+ Z_PARAM_ZVAL (zv_cas )
2057
+ Z_PARAM_STR (key )
2058
+ Z_PARAM_ZVAL (value )
2059
+ Z_PARAM_OPTIONAL
2060
+ Z_PARAM_LONG (expiration )
2061
+ Z_PARAM_LONG (ignored )
2062
+ ZEND_PARSE_PARAMETERS_END ();
2048
2063
}
2049
2064
2050
2065
MEMC_METHOD_FETCH_OBJECT ;
@@ -2126,18 +2141,25 @@ PHP_METHOD(Memcached, deleteMultiByKey)
2126
2141
static void php_memc_delete_impl (INTERNAL_FUNCTION_PARAMETERS , zend_bool by_key )
2127
2142
{
2128
2143
zend_string * key , * server_key ;
2129
- time_t expiration = 0 ;
2144
+ zend_long expiration = 0 ;
2130
2145
memcached_return status ;
2131
2146
MEMC_METHOD_INIT_VARS ;
2132
2147
2133
2148
if (by_key ) {
2134
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "SS|l" , & server_key , & key , & expiration ) == FAILURE ) {
2135
- return ;
2136
- }
2149
+ /* SS|l */
2150
+ ZEND_PARSE_PARAMETERS_START (2 , 3 )
2151
+ Z_PARAM_STR (server_key )
2152
+ Z_PARAM_STR (key )
2153
+ Z_PARAM_OPTIONAL
2154
+ Z_PARAM_LONG (expiration )
2155
+ ZEND_PARSE_PARAMETERS_END ();
2137
2156
} else {
2138
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "S|l" , & key , & expiration ) == FAILURE ) {
2139
- return ;
2140
- }
2157
+ /* S|l */
2158
+ ZEND_PARSE_PARAMETERS_START (1 , 2 )
2159
+ Z_PARAM_STR (key )
2160
+ Z_PARAM_OPTIONAL
2161
+ Z_PARAM_LONG (expiration )
2162
+ ZEND_PARSE_PARAMETERS_END ();
2141
2163
server_key = key ;
2142
2164
}
2143
2165
@@ -2165,20 +2187,27 @@ static void php_memc_deleteMulti_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by
2165
2187
{
2166
2188
zval * entries , * zv , ret ;
2167
2189
zend_string * server_key = NULL ;
2168
- time_t expiration = 0 ;
2190
+ zend_long expiration = 0 ;
2169
2191
zend_string * entry ;
2170
2192
2171
2193
memcached_return status ;
2172
2194
MEMC_METHOD_INIT_VARS ;
2173
2195
2174
2196
if (by_key ) {
2175
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "Sa/|l" , & server_key , & entries , & expiration ) == FAILURE ) {
2176
- return ;
2177
- }
2197
+ /* Sa/|l */
2198
+ ZEND_PARSE_PARAMETERS_START (2 , 3 )
2199
+ Z_PARAM_STR (server_key )
2200
+ Z_PARAM_ARRAY_EX (entries , 0 , 1 )
2201
+ Z_PARAM_OPTIONAL
2202
+ Z_PARAM_LONG (expiration )
2203
+ ZEND_PARSE_PARAMETERS_END ();
2178
2204
} else {
2179
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "a/|l" , & entries , & expiration ) == FAILURE ) {
2180
- return ;
2181
- }
2205
+ /* a/|l */
2206
+ ZEND_PARSE_PARAMETERS_START (1 , 2 )
2207
+ Z_PARAM_ARRAY_EX (entries , 0 , 1 )
2208
+ Z_PARAM_OPTIONAL
2209
+ Z_PARAM_LONG (expiration )
2210
+ ZEND_PARSE_PARAMETERS_END ();
2182
2211
}
2183
2212
2184
2213
MEMC_METHOD_FETCH_OBJECT ;
@@ -2348,13 +2377,17 @@ PHP_METHOD(Memcached, incrementByKey)
2348
2377
PHP_METHOD (Memcached , addServer )
2349
2378
{
2350
2379
zend_string * host ;
2351
- long port , weight = 0 ;
2380
+ zend_long port , weight = 0 ;
2352
2381
memcached_return status ;
2353
2382
MEMC_METHOD_INIT_VARS ;
2354
2383
2355
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "Sl|l" , & host , & port , & weight ) == FAILURE ) {
2356
- return ;
2357
- }
2384
+ /* Sa/|l */
2385
+ ZEND_PARSE_PARAMETERS_START (2 , 3 )
2386
+ Z_PARAM_STR (host )
2387
+ Z_PARAM_LONG (port )
2388
+ Z_PARAM_OPTIONAL
2389
+ Z_PARAM_LONG (weight )
2390
+ ZEND_PARSE_PARAMETERS_END ();
2358
2391
2359
2392
MEMC_METHOD_FETCH_OBJECT ;
2360
2393
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2382,9 +2415,10 @@ PHP_METHOD(Memcached, addServers)
2382
2415
memcached_return status ;
2383
2416
MEMC_METHOD_INIT_VARS ;
2384
2417
2385
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "a/" , & servers ) == FAILURE ) {
2386
- return ;
2387
- }
2418
+ /* a/ */
2419
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
2420
+ Z_PARAM_ARRAY_EX (servers , 0 , 1 )
2421
+ ZEND_PARSE_PARAMETERS_END ();
2388
2422
2389
2423
MEMC_METHOD_FETCH_OBJECT ;
2390
2424
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2486,9 +2520,10 @@ PHP_METHOD(Memcached, getServerByKey)
2486
2520
memcached_return error ;
2487
2521
MEMC_METHOD_INIT_VARS ;
2488
2522
2489
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "S" , & server_key ) == FAILURE ) {
2490
- return ;
2491
- }
2523
+ /* S */
2524
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
2525
+ Z_PARAM_STR (server_key )
2526
+ ZEND_PARSE_PARAMETERS_END ();
2492
2527
2493
2528
MEMC_METHOD_FETCH_OBJECT ;
2494
2529
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2706,9 +2741,11 @@ PHP_METHOD(Memcached, getStats)
2706
2741
zend_string * args_string = NULL ;
2707
2742
MEMC_METHOD_INIT_VARS ;
2708
2743
2709
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "|S!" , & args_string ) == FAILURE ) {
2710
- return ;
2711
- }
2744
+ /* |S! */
2745
+ ZEND_PARSE_PARAMETERS_START (0 , 1 )
2746
+ Z_PARAM_OPTIONAL
2747
+ Z_PARAM_STR_EX (args_string , 1 , 0 )
2748
+ ZEND_PARSE_PARAMETERS_END ();
2712
2749
2713
2750
MEMC_METHOD_FETCH_OBJECT ;
2714
2751
@@ -2800,13 +2837,15 @@ PHP_METHOD(Memcached, getAllKeys)
2800
2837
Flushes the data on all the servers */
2801
2838
static PHP_METHOD (Memcached , flush )
2802
2839
{
2803
- time_t delay = 0 ;
2840
+ zend_long delay = 0 ;
2804
2841
memcached_return status ;
2805
2842
MEMC_METHOD_INIT_VARS ;
2806
2843
2807
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "|l" , & delay ) == FAILURE ) {
2808
- return ;
2809
- }
2844
+ /* |l */
2845
+ ZEND_PARSE_PARAMETERS_START (0 , 1 )
2846
+ Z_PARAM_OPTIONAL
2847
+ Z_PARAM_LONG (delay )
2848
+ ZEND_PARSE_PARAMETERS_END ();
2810
2849
2811
2850
MEMC_METHOD_FETCH_OBJECT ;
2812
2851
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2824,14 +2863,15 @@ static PHP_METHOD(Memcached, flush)
2824
2863
Returns the value for the given option constant */
2825
2864
static PHP_METHOD (Memcached , getOption )
2826
2865
{
2827
- long option ;
2866
+ zend_long option ;
2828
2867
uint64_t result ;
2829
2868
memcached_behavior flag ;
2830
2869
MEMC_METHOD_INIT_VARS ;
2831
2870
2832
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & option ) == FAILURE ) {
2833
- return ;
2834
- }
2871
+ /* l */
2872
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
2873
+ Z_PARAM_LONG (option )
2874
+ ZEND_PARSE_PARAMETERS_END ();
2835
2875
2836
2876
MEMC_METHOD_FETCH_OBJECT ;
2837
2877
@@ -3073,17 +3113,20 @@ PHP_METHOD(Memcached, setBucket)
3073
3113
{
3074
3114
zval * zserver_map ;
3075
3115
zval * zforward_map = NULL ;
3076
- long replicas = 0 ;
3116
+ zend_long replicas = 0 ;
3077
3117
zend_bool retval = 1 ;
3078
3118
3079
3119
uint32_t * server_map = NULL , * forward_map = NULL ;
3080
3120
size_t server_map_len = 0 , forward_map_len = 0 ;
3081
3121
memcached_return rc ;
3082
3122
MEMC_METHOD_INIT_VARS ;
3083
3123
3084
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "aa!l" , & zserver_map , & zforward_map , & replicas ) == FAILURE ) {
3085
- return ;
3086
- }
3124
+ /* aa!l */
3125
+ ZEND_PARSE_PARAMETERS_START (3 , 3 )
3126
+ Z_PARAM_ARRAY (zserver_map )
3127
+ Z_PARAM_ARRAY_EX (zforward_map , 1 , 0 )
3128
+ Z_PARAM_LONG (replicas )
3129
+ ZEND_PARSE_PARAMETERS_END ();
3087
3130
3088
3131
MEMC_METHOD_FETCH_OBJECT ;
3089
3132
@@ -3144,9 +3187,11 @@ static PHP_METHOD(Memcached, setOptions)
3144
3187
3145
3188
MEMC_METHOD_INIT_VARS ;
3146
3189
3147
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "a" , & options ) == FAILURE ) {
3148
- return ;
3149
- }
3190
+ /* a */
3191
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
3192
+ Z_PARAM_ARRAY (options )
3193
+ ZEND_PARSE_PARAMETERS_END ();
3194
+
3150
3195
3151
3196
MEMC_METHOD_FETCH_OBJECT ;
3152
3197
@@ -3169,13 +3214,15 @@ static PHP_METHOD(Memcached, setOptions)
3169
3214
Sets the value for the given option constant */
3170
3215
static PHP_METHOD (Memcached , setOption )
3171
3216
{
3172
- long option ;
3217
+ zend_long option ;
3173
3218
zval * value ;
3174
3219
MEMC_METHOD_INIT_VARS ;
3175
3220
3176
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "lz/" , & option , & value ) == FAILURE ) {
3177
- return ;
3178
- }
3221
+ /* lz/ */
3222
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
3223
+ Z_PARAM_LONG (option )
3224
+ Z_PARAM_ZVAL_EX (value , 0 , 1 )
3225
+ ZEND_PARSE_PARAMETERS_END ();
3179
3226
3180
3227
MEMC_METHOD_FETCH_OBJECT ;
3181
3228
@@ -3192,9 +3239,11 @@ static PHP_METHOD(Memcached, setSaslAuthData)
3192
3239
memcached_return status ;
3193
3240
zend_string * user , * pass ;
3194
3241
3195
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "SS" , & user , & pass ) == FAILURE ) {
3196
- return ;
3197
- }
3242
+ /* SS/ */
3243
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
3244
+ Z_PARAM_STR (user )
3245
+ Z_PARAM_STR (pass )
3246
+ ZEND_PARSE_PARAMETERS_END ();
3198
3247
3199
3248
if (!php_memc_init_sasl_if_needed ()) {
3200
3249
RETURN_FALSE ;
@@ -3676,9 +3725,10 @@ PHP_METHOD(MemcachedServer, run)
3676
3725
php_memc_server_t * intern ;
3677
3726
intern = Z_MEMC_SERVER_P (getThis ());
3678
3727
3679
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "S" , & address ) == FAILURE ) {
3680
- return ;
3681
- }
3728
+ /* S */
3729
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
3730
+ Z_PARAM_STR (address )
3731
+ ZEND_PARSE_PARAMETERS_END ();
3682
3732
3683
3733
rc = php_memc_proto_handler_run (intern -> handler , address );
3684
3734
@@ -3697,9 +3747,11 @@ PHP_METHOD(MemcachedServer, on)
3697
3747
zend_fcall_info_cache fci_cache ;
3698
3748
zend_bool rc = 0 ;
3699
3749
3700
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "lf!" , & event , & fci , & fci_cache ) == FAILURE ) {
3701
- return ;
3702
- }
3750
+ /* lf! */
3751
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
3752
+ Z_PARAM_LONG (event )
3753
+ Z_PARAM_FUNC_EX (fci , fci_cache , 1 , 0 )
3754
+ ZEND_PARSE_PARAMETERS_END ();
3703
3755
3704
3756
if (event <= MEMC_SERVER_ON_MIN || event >= MEMC_SERVER_ON_MAX ) {
3705
3757
RETURN_FALSE ;
0 commit comments