summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/info.c29
-rw-r--r--ext/standard/iptc.c15
-rw-r--r--ext/standard/link.c26
-rw-r--r--ext/standard/mail.c17
-rw-r--r--ext/standard/mt_rand.c14
-rw-r--r--ext/standard/pack.c17
-rw-r--r--ext/standard/password.c31
-rw-r--r--ext/standard/string.c4
-rw-r--r--ext/standard/uuencode.c14
9 files changed, 99 insertions, 68 deletions
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 221b85464a..865c5e98c1 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -1267,9 +1267,10 @@ PHP_FUNCTION(phpinfo)
{
zend_long flag = PHP_INFO_ALL;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &flag) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 1)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_LONG(flag)
+ ZEND_PARSE_PARAMETERS_END();
/* Andale! Andale! Yee-Hah! */
php_output_start_default();
@@ -1288,9 +1289,10 @@ PHP_FUNCTION(phpversion)
char *ext_name = NULL;
size_t ext_name_len = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &ext_name, &ext_name_len) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 1)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_STRING(ext_name, ext_name_len)
+ ZEND_PARSE_PARAMETERS_END();
if (!ext_name) {
RETURN_STRING(PHP_VERSION);
@@ -1311,9 +1313,10 @@ PHP_FUNCTION(phpcredits)
{
zend_long flag = PHP_CREDITS_ALL;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &flag) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 1)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_LONG(flag)
+ ZEND_PARSE_PARAMETERS_END();
php_print_credits((int)flag);
RETURN_TRUE;
@@ -1344,9 +1347,11 @@ PHP_FUNCTION(php_uname)
char *mode = "a";
size_t modelen = sizeof("a")-1;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &mode, &modelen) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(0, 1)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_STRING(mode, modelen)
+ ZEND_PARSE_PARAMETERS_END();
+
RETURN_STR(php_get_uname(*mode));
}
diff --git a/ext/standard/iptc.c b/ext/standard/iptc.c
index 04e51b00c1..62b8473755 100644
--- a/ext/standard/iptc.c
+++ b/ext/standard/iptc.c
@@ -197,9 +197,12 @@ PHP_FUNCTION(iptcembed)
zend_stat_t sb;
zend_bool written = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "sp|l", &iptcdata, &iptcdata_len, &jpeg_file, &jpeg_file_len, &spool) != SUCCESS) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 3)
+ Z_PARAM_STRING(iptcdata, iptcdata_len)
+ Z_PARAM_PATH(jpeg_file, jpeg_file_len)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_LONG(spool)
+ ZEND_PARSE_PARAMETERS_END();
if (php_check_open_basedir(jpeg_file)) {
RETURN_FALSE;
@@ -321,9 +324,9 @@ PHP_FUNCTION(iptcparse)
size_t str_len;
zval values, *element;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &str, &str_len) != SUCCESS) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_STRING(str, str_len)
+ ZEND_PARSE_PARAMETERS_END();
buffer = (unsigned char *)str;
diff --git a/ext/standard/link.c b/ext/standard/link.c
index 62e7295c70..e6b8220f50 100644
--- a/ext/standard/link.c
+++ b/ext/standard/link.c
@@ -59,9 +59,9 @@ PHP_FUNCTION(readlink)
char buff[MAXPATHLEN];
int ret;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "p", &link, &link_len) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_PATH(link, link_len)
+ ZEND_PARSE_PARAMETERS_END();
if (php_check_open_basedir(link)) {
RETURN_FALSE;
@@ -90,9 +90,9 @@ PHP_FUNCTION(linkinfo)
zend_stat_t sb;
int ret;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "p", &link, &link_len) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_PATH(link, link_len)
+ ZEND_PARSE_PARAMETERS_END();
dirname = estrndup(link, link_len);
php_dirname(dirname, link_len);
@@ -126,9 +126,10 @@ PHP_FUNCTION(symlink)
char dirname[MAXPATHLEN];
size_t len;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "pp", &topath, &topath_len, &frompath, &frompath_len) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 2)
+ Z_PARAM_PATH(topath, topath_len)
+ Z_PARAM_PATH(frompath, frompath_len)
+ ZEND_PARSE_PARAMETERS_END();
if (!expand_filepath(frompath, source_p)) {
php_error_docref(NULL, E_WARNING, "No such file or directory");
@@ -182,9 +183,10 @@ PHP_FUNCTION(link)
char source_p[MAXPATHLEN];
char dest_p[MAXPATHLEN];
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "pp", &topath, &topath_len, &frompath, &frompath_len) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 2)
+ Z_PARAM_PATH(topath, topath_len)
+ Z_PARAM_PATH(frompath, frompath_len)
+ ZEND_PARSE_PARAMETERS_END();
if (!expand_filepath(frompath, source_p) || !expand_filepath(topath, dest_p)) {
php_error_docref(NULL, E_WARNING, "No such file or directory");
diff --git a/ext/standard/mail.c b/ext/standard/mail.c
index fd05776787..8108225008 100644
--- a/ext/standard/mail.c
+++ b/ext/standard/mail.c
@@ -78,9 +78,9 @@ PHP_FUNCTION(ezmlm_hash)
unsigned int h = 5381;
size_t j, str_len;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &str, &str_len) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_STRING(str, str_len)
+ ZEND_PARSE_PARAMETERS_END();
for (j = 0; j < str_len; j++) {
h = (h + (h << 5)) ^ (zend_ulong) (unsigned char) tolower(str[j]);
@@ -295,9 +295,14 @@ PHP_FUNCTION(mail)
char *to_r, *subject_r;
char *p, *e;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "sss|zS", &to, &to_len, &subject, &subject_len, &message, &message_len, &headers, &extra_cmd) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(3, 5)
+ Z_PARAM_STRING(to, to_len)
+ Z_PARAM_STRING(subject, subject_len)
+ Z_PARAM_STRING(message, message_len)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_ZVAL_DEREF(headers)
+ Z_PARAM_STR(extra_cmd)
+ ZEND_PARSE_PARAMETERS_END();
/* ASCIIZ check */
MAIL_ASCIIZ_CHECK(to, to_len);
diff --git a/ext/standard/mt_rand.c b/ext/standard/mt_rand.c
index dde9a77134..80ec01c027 100644
--- a/ext/standard/mt_rand.c
+++ b/ext/standard/mt_rand.c
@@ -191,8 +191,11 @@ PHP_FUNCTION(mt_srand)
zend_long seed = 0;
zend_long mode = MT_RAND_MT19937;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "|ll", &seed, &mode) == FAILURE)
- return;
+ ZEND_PARSE_PARAMETERS_START(0, 2)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_LONG(seed)
+ Z_PARAM_LONG(mode)
+ ZEND_PARSE_PARAMETERS_END();
if (ZEND_NUM_ARGS() == 0)
seed = GENERATE_SEED();
@@ -288,9 +291,10 @@ PHP_FUNCTION(mt_rand)
RETURN_LONG(php_mt_rand() >> 1);
}
- if (zend_parse_parameters(argc, "ll", &min, &max) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 2)
+ Z_PARAM_LONG(min)
+ Z_PARAM_LONG(max)
+ ZEND_PARSE_PARAMETERS_END();
if (UNEXPECTED(max < min)) {
php_error_docref(NULL, E_WARNING, "max(" ZEND_LONG_FMT ") is smaller than min(" ZEND_LONG_FMT ")", max, min);
diff --git a/ext/standard/pack.c b/ext/standard/pack.c
index 1c13f0be96..447b0ee9cf 100644
--- a/ext/standard/pack.c
+++ b/ext/standard/pack.c
@@ -116,9 +116,10 @@ PHP_FUNCTION(pack)
int outputpos = 0, outputsize = 0;
zend_string *output;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "s*", &format, &formatlen, &argv, &num_args) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(1, -1)
+ Z_PARAM_STRING(format, formatlen)
+ Z_PARAM_VARIADIC('*', argv, num_args)
+ ZEND_PARSE_PARAMETERS_END();
/* We have a maximum of <formatlen> format codes to deal with */
formatcodes = safe_emalloc(formatlen, sizeof(*formatcodes), 0);
@@ -547,10 +548,12 @@ PHP_FUNCTION(unpack)
int i;
zend_long offset = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "SS|l", &formatarg,
- &inputarg, &offset) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 3)
+ Z_PARAM_STR(formatarg)
+ Z_PARAM_STR(inputarg)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_LONG(offset)
+ ZEND_PARSE_PARAMETERS_END();
format = ZSTR_VAL(formatarg);
formatlen = ZSTR_LEN(formatarg);
diff --git a/ext/standard/password.c b/ext/standard/password.c
index d362e6f7f3..c5b5fe2c98 100644
--- a/ext/standard/password.c
+++ b/ext/standard/password.c
@@ -173,9 +173,9 @@ PHP_FUNCTION(password_get_info)
char *hash, *algo_name;
zval options;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &hash, &hash_len) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_STRING(hash, hash_len)
+ ZEND_PARSE_PARAMETERS_END();
array_init(&options);
@@ -229,9 +229,12 @@ PHP_FUNCTION(password_needs_rehash)
HashTable *options = 0;
zval *option_buffer;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "sl|H", &hash, &hash_len, &new_algo, &options) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 3)
+ Z_PARAM_STRING(hash, hash_len)
+ Z_PARAM_LONG(new_algo)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_ARRAY_OR_OBJECT_HT(options)
+ ZEND_PARSE_PARAMETERS_END();
algo = php_password_determine_algo(hash, (size_t) hash_len);
@@ -300,9 +303,10 @@ PHP_FUNCTION(password_verify)
zend_string *ret;
php_password_algo algo;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss", &password, &password_len, &hash, &hash_len) == FAILURE) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 2)
+ Z_PARAM_STRING(password, password_len)
+ Z_PARAM_STRING(hash, hash_len)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
algo = php_password_determine_algo(hash, (size_t) hash_len);
@@ -372,9 +376,12 @@ PHP_FUNCTION(password_hash)
argon2_type type = Argon2_i;
#endif
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "sl|H", &password, &password_len, &algo, &options) == FAILURE) {
- return;
- }
+ ZEND_PARSE_PARAMETERS_START(2, 3)
+ Z_PARAM_STRING(password, password_len)
+ Z_PARAM_LONG(algo)
+ Z_PARAM_OPTIONAL
+ Z_PARAM_ARRAY_OR_OBJECT_HT(options)
+ ZEND_PARSE_PARAMETERS_END();
switch (algo) {
case PHP_PASSWORD_BCRYPT:
diff --git a/ext/standard/string.c b/ext/standard/string.c
index a4bb111caa..845855ad4c 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -4981,7 +4981,7 @@ PHP_FUNCTION(str_repeat)
ZEND_PARSE_PARAMETERS_START(2, 2)
Z_PARAM_STR(input_str)
- Z_PARMA_LONG(mult)
+ Z_PARAM_LONG(mult)
ZEND_PARSE_PARAMETERS_END();
if (mult < 0) {
@@ -5038,7 +5038,7 @@ PHP_FUNCTION(count_chars)
ZEND_PARSE_PARAMETERS_START(1, 2)
Z_PARAM_STR(input)
Z_PARAM_OPTIONAL
- Z_PARMA_LONG(mymode)
+ Z_PARAM_LONG(mymode)
ZEND_PARSE_PARAMETERS_END();
if (mymode < 0 || mymode > 4) {
diff --git a/ext/standard/uuencode.c b/ext/standard/uuencode.c
index 787569e430..a99a98d35f 100644
--- a/ext/standard/uuencode.c
+++ b/ext/standard/uuencode.c
@@ -204,9 +204,10 @@ PHP_FUNCTION(convert_uuencode)
{
zend_string *src;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &src) == FAILURE || ZSTR_LEN(src) < 1) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_STR(src)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
+ if (ZSTR_LEN(src) < 1) { RETURN_FALSE; }
RETURN_STR(php_uuencode(ZSTR_VAL(src), ZSTR_LEN(src)));
}
@@ -219,9 +220,10 @@ PHP_FUNCTION(convert_uudecode)
zend_string *src;
zend_string *dest;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &src) == FAILURE || ZSTR_LEN(src) < 1) {
- RETURN_FALSE;
- }
+ ZEND_PARSE_PARAMETERS_START(1, 1)
+ Z_PARAM_STR(src)
+ ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);
+ if (ZSTR_LEN(src) < 1) { RETURN_FALSE; }
if ((dest = php_uudecode(ZSTR_VAL(src), ZSTR_LEN(src))) == NULL) {
php_error_docref(NULL, E_WARNING, "The given parameter is not a valid uuencoded string");