@@ -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 )
@@ -2020,22 +2023,34 @@ static void php_memc_cas_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
2020
2023
zend_string * key ;
2021
2024
zend_string * server_key = NULL ;
2022
2025
zval * value ;
2023
- time_t expiration = 0 ;
2026
+ zend_long expiration = 0 ;
2027
+ zend_long ignored ;
2024
2028
zend_string * payload ;
2025
2029
uint32_t flags = 0 ;
2026
2030
memcached_return status ;
2027
2031
MEMC_METHOD_INIT_VARS ;
2028
2032
2029
2033
if (by_key ) {
2030
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "zSSz|ll" , & zv_cas , & server_key , & key ,
2031
- & value , & expiration ) == FAILURE ) {
2032
- return ;
2033
- }
2034
+ /* zSSz|ll */
2035
+ ZEND_PARSE_PARAMETERS_START (4 , 6 )
2036
+ Z_PARAM_ZVAL (zv_cas )
2037
+ Z_PARAM_STR (server_key )
2038
+ Z_PARAM_STR (key )
2039
+ Z_PARAM_ZVAL (value )
2040
+ Z_PARAM_OPTIONAL
2041
+ Z_PARAM_LONG (expiration )
2042
+ Z_PARAM_LONG (ignored )
2043
+ ZEND_PARSE_PARAMETERS_END ();
2034
2044
} else {
2035
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "zSz|ll" , & zv_cas , & key , & value ,
2036
- & expiration ) == FAILURE ) {
2037
- return ;
2038
- }
2045
+ /* zSz|ll */
2046
+ ZEND_PARSE_PARAMETERS_START (3 , 5 )
2047
+ Z_PARAM_ZVAL (zv_cas )
2048
+ Z_PARAM_STR (key )
2049
+ Z_PARAM_ZVAL (value )
2050
+ Z_PARAM_OPTIONAL
2051
+ Z_PARAM_LONG (expiration )
2052
+ Z_PARAM_LONG (ignored )
2053
+ ZEND_PARSE_PARAMETERS_END ();
2039
2054
}
2040
2055
2041
2056
MEMC_METHOD_FETCH_OBJECT ;
@@ -2117,18 +2132,25 @@ PHP_METHOD(Memcached, deleteMultiByKey)
2117
2132
static void php_memc_delete_impl (INTERNAL_FUNCTION_PARAMETERS , zend_bool by_key )
2118
2133
{
2119
2134
zend_string * key , * server_key ;
2120
- time_t expiration = 0 ;
2135
+ zend_long expiration = 0 ;
2121
2136
memcached_return status ;
2122
2137
MEMC_METHOD_INIT_VARS ;
2123
2138
2124
2139
if (by_key ) {
2125
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "SS|l" , & server_key , & key , & expiration ) == FAILURE ) {
2126
- return ;
2127
- }
2140
+ /* SS|l */
2141
+ ZEND_PARSE_PARAMETERS_START (2 , 3 )
2142
+ Z_PARAM_STR (server_key )
2143
+ Z_PARAM_STR (key )
2144
+ Z_PARAM_OPTIONAL
2145
+ Z_PARAM_LONG (expiration )
2146
+ ZEND_PARSE_PARAMETERS_END ();
2128
2147
} else {
2129
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "S|l" , & key , & expiration ) == FAILURE ) {
2130
- return ;
2131
- }
2148
+ /* S|l */
2149
+ ZEND_PARSE_PARAMETERS_START (1 , 2 )
2150
+ Z_PARAM_STR (key )
2151
+ Z_PARAM_OPTIONAL
2152
+ Z_PARAM_LONG (expiration )
2153
+ ZEND_PARSE_PARAMETERS_END ();
2132
2154
server_key = key ;
2133
2155
}
2134
2156
@@ -2156,20 +2178,27 @@ static void php_memc_deleteMulti_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by
2156
2178
{
2157
2179
zval * entries , * zv , ret ;
2158
2180
zend_string * server_key = NULL ;
2159
- time_t expiration = 0 ;
2181
+ zend_long expiration = 0 ;
2160
2182
zend_string * entry ;
2161
2183
2162
2184
memcached_return status ;
2163
2185
MEMC_METHOD_INIT_VARS ;
2164
2186
2165
2187
if (by_key ) {
2166
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "Sa/|l" , & server_key , & entries , & expiration ) == FAILURE ) {
2167
- return ;
2168
- }
2188
+ /* Sa/|l */
2189
+ ZEND_PARSE_PARAMETERS_START (2 , 3 )
2190
+ Z_PARAM_STR (server_key )
2191
+ Z_PARAM_ARRAY_EX (entries , 0 , 1 )
2192
+ Z_PARAM_OPTIONAL
2193
+ Z_PARAM_LONG (expiration )
2194
+ ZEND_PARSE_PARAMETERS_END ();
2169
2195
} else {
2170
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "a/|l" , & entries , & expiration ) == FAILURE ) {
2171
- return ;
2172
- }
2196
+ /* a/|l */
2197
+ ZEND_PARSE_PARAMETERS_START (1 , 2 )
2198
+ Z_PARAM_ARRAY_EX (entries , 0 , 1 )
2199
+ Z_PARAM_OPTIONAL
2200
+ Z_PARAM_LONG (expiration )
2201
+ ZEND_PARSE_PARAMETERS_END ();
2173
2202
}
2174
2203
2175
2204
MEMC_METHOD_FETCH_OBJECT ;
@@ -2339,13 +2368,17 @@ PHP_METHOD(Memcached, incrementByKey)
2339
2368
PHP_METHOD (Memcached , addServer )
2340
2369
{
2341
2370
zend_string * host ;
2342
- long port , weight = 0 ;
2371
+ zend_long port , weight = 0 ;
2343
2372
memcached_return status ;
2344
2373
MEMC_METHOD_INIT_VARS ;
2345
2374
2346
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "Sl|l" , & host , & port , & weight ) == FAILURE ) {
2347
- return ;
2348
- }
2375
+ /* Sa/|l */
2376
+ ZEND_PARSE_PARAMETERS_START (2 , 3 )
2377
+ Z_PARAM_STR (host )
2378
+ Z_PARAM_LONG (port )
2379
+ Z_PARAM_OPTIONAL
2380
+ Z_PARAM_LONG (weight )
2381
+ ZEND_PARSE_PARAMETERS_END ();
2349
2382
2350
2383
MEMC_METHOD_FETCH_OBJECT ;
2351
2384
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2373,9 +2406,10 @@ PHP_METHOD(Memcached, addServers)
2373
2406
memcached_return status ;
2374
2407
MEMC_METHOD_INIT_VARS ;
2375
2408
2376
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "a/" , & servers ) == FAILURE ) {
2377
- return ;
2378
- }
2409
+ /* a/ */
2410
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
2411
+ Z_PARAM_ARRAY_EX (servers , 0 , 1 )
2412
+ ZEND_PARSE_PARAMETERS_END ();
2379
2413
2380
2414
MEMC_METHOD_FETCH_OBJECT ;
2381
2415
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2477,9 +2511,10 @@ PHP_METHOD(Memcached, getServerByKey)
2477
2511
memcached_return error ;
2478
2512
MEMC_METHOD_INIT_VARS ;
2479
2513
2480
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "S" , & server_key ) == FAILURE ) {
2481
- return ;
2482
- }
2514
+ /* S */
2515
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
2516
+ Z_PARAM_STR (server_key )
2517
+ ZEND_PARSE_PARAMETERS_END ();
2483
2518
2484
2519
MEMC_METHOD_FETCH_OBJECT ;
2485
2520
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2697,9 +2732,11 @@ PHP_METHOD(Memcached, getStats)
2697
2732
zend_string * args_string = NULL ;
2698
2733
MEMC_METHOD_INIT_VARS ;
2699
2734
2700
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "|S!" , & args_string ) == FAILURE ) {
2701
- return ;
2702
- }
2735
+ /* |S! */
2736
+ ZEND_PARSE_PARAMETERS_START (0 , 1 )
2737
+ Z_PARAM_OPTIONAL
2738
+ Z_PARAM_STR_EX (args_string , 1 , 0 )
2739
+ ZEND_PARSE_PARAMETERS_END ();
2703
2740
2704
2741
MEMC_METHOD_FETCH_OBJECT ;
2705
2742
@@ -2791,13 +2828,15 @@ PHP_METHOD(Memcached, getAllKeys)
2791
2828
Flushes the data on all the servers */
2792
2829
static PHP_METHOD (Memcached , flush )
2793
2830
{
2794
- time_t delay = 0 ;
2831
+ zend_long delay = 0 ;
2795
2832
memcached_return status ;
2796
2833
MEMC_METHOD_INIT_VARS ;
2797
2834
2798
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "|l" , & delay ) == FAILURE ) {
2799
- return ;
2800
- }
2835
+ /* |l */
2836
+ ZEND_PARSE_PARAMETERS_START (0 , 1 )
2837
+ Z_PARAM_OPTIONAL
2838
+ Z_PARAM_LONG (delay )
2839
+ ZEND_PARSE_PARAMETERS_END ();
2801
2840
2802
2841
MEMC_METHOD_FETCH_OBJECT ;
2803
2842
s_memc_set_status (intern , MEMCACHED_SUCCESS , 0 );
@@ -2815,14 +2854,15 @@ static PHP_METHOD(Memcached, flush)
2815
2854
Returns the value for the given option constant */
2816
2855
static PHP_METHOD (Memcached , getOption )
2817
2856
{
2818
- long option ;
2857
+ zend_long option ;
2819
2858
uint64_t result ;
2820
2859
memcached_behavior flag ;
2821
2860
MEMC_METHOD_INIT_VARS ;
2822
2861
2823
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & option ) == FAILURE ) {
2824
- return ;
2825
- }
2862
+ /* l */
2863
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
2864
+ Z_PARAM_LONG (option )
2865
+ ZEND_PARSE_PARAMETERS_END ();
2826
2866
2827
2867
MEMC_METHOD_FETCH_OBJECT ;
2828
2868
@@ -3064,17 +3104,20 @@ PHP_METHOD(Memcached, setBucket)
3064
3104
{
3065
3105
zval * zserver_map ;
3066
3106
zval * zforward_map = NULL ;
3067
- long replicas = 0 ;
3107
+ zend_long replicas = 0 ;
3068
3108
zend_bool retval = 1 ;
3069
3109
3070
3110
uint32_t * server_map = NULL , * forward_map = NULL ;
3071
3111
size_t server_map_len = 0 , forward_map_len = 0 ;
3072
3112
memcached_return rc ;
3073
3113
MEMC_METHOD_INIT_VARS ;
3074
3114
3075
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "aa!l" , & zserver_map , & zforward_map , & replicas ) == FAILURE ) {
3076
- return ;
3077
- }
3115
+ /* aa!l */
3116
+ ZEND_PARSE_PARAMETERS_START (3 , 3 )
3117
+ Z_PARAM_ARRAY (zserver_map )
3118
+ Z_PARAM_ARRAY_EX (zforward_map , 1 , 0 )
3119
+ Z_PARAM_LONG (replicas )
3120
+ ZEND_PARSE_PARAMETERS_END ();
3078
3121
3079
3122
MEMC_METHOD_FETCH_OBJECT ;
3080
3123
@@ -3135,9 +3178,11 @@ static PHP_METHOD(Memcached, setOptions)
3135
3178
3136
3179
MEMC_METHOD_INIT_VARS ;
3137
3180
3138
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "a" , & options ) == FAILURE ) {
3139
- return ;
3140
- }
3181
+ /* a */
3182
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
3183
+ Z_PARAM_ARRAY (options )
3184
+ ZEND_PARSE_PARAMETERS_END ();
3185
+
3141
3186
3142
3187
MEMC_METHOD_FETCH_OBJECT ;
3143
3188
@@ -3160,13 +3205,15 @@ static PHP_METHOD(Memcached, setOptions)
3160
3205
Sets the value for the given option constant */
3161
3206
static PHP_METHOD (Memcached , setOption )
3162
3207
{
3163
- long option ;
3208
+ zend_long option ;
3164
3209
zval * value ;
3165
3210
MEMC_METHOD_INIT_VARS ;
3166
3211
3167
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "lz/" , & option , & value ) == FAILURE ) {
3168
- return ;
3169
- }
3212
+ /* lz/ */
3213
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
3214
+ Z_PARAM_LONG (option )
3215
+ Z_PARAM_ZVAL_EX (value , 0 , 1 )
3216
+ ZEND_PARSE_PARAMETERS_END ();
3170
3217
3171
3218
MEMC_METHOD_FETCH_OBJECT ;
3172
3219
@@ -3183,9 +3230,11 @@ static PHP_METHOD(Memcached, setSaslAuthData)
3183
3230
memcached_return status ;
3184
3231
zend_string * user , * pass ;
3185
3232
3186
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "SS" , & user , & pass ) == FAILURE ) {
3187
- return ;
3188
- }
3233
+ /* SS/ */
3234
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
3235
+ Z_PARAM_STR (user )
3236
+ Z_PARAM_STR (pass )
3237
+ ZEND_PARSE_PARAMETERS_END ();
3189
3238
3190
3239
if (!php_memc_init_sasl_if_needed ()) {
3191
3240
RETURN_FALSE ;
@@ -3667,9 +3716,10 @@ PHP_METHOD(MemcachedServer, run)
3667
3716
php_memc_server_t * intern ;
3668
3717
intern = Z_MEMC_SERVER_P (getThis ());
3669
3718
3670
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "S" , & address ) == FAILURE ) {
3671
- return ;
3672
- }
3719
+ /* S */
3720
+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
3721
+ Z_PARAM_STR (address )
3722
+ ZEND_PARSE_PARAMETERS_END ();
3673
3723
3674
3724
rc = php_memc_proto_handler_run (intern -> handler , address );
3675
3725
@@ -3688,9 +3738,11 @@ PHP_METHOD(MemcachedServer, on)
3688
3738
zend_fcall_info_cache fci_cache ;
3689
3739
zend_bool rc = 0 ;
3690
3740
3691
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "lf!" , & event , & fci , & fci_cache ) == FAILURE ) {
3692
- return ;
3693
- }
3741
+ /* lf! */
3742
+ ZEND_PARSE_PARAMETERS_START (2 , 2 )
3743
+ Z_PARAM_LONG (event )
3744
+ Z_PARAM_FUNC_EX (fci , fci_cache , 1 , 0 )
3745
+ ZEND_PARSE_PARAMETERS_END ();
3694
3746
3695
3747
if (event <= MEMC_SERVER_ON_MIN || event >= MEMC_SERVER_ON_MAX ) {
3696
3748
RETURN_FALSE ;
0 commit comments