From: Sara Golemon Date: Fri, 30 Dec 2016 05:27:08 +0000 (-0800) Subject: Use new param API in standard/streamsfuncs X-Git-Tag: php-7.2.0alpha1~725 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=523afbf63f87b3f3fa3ccbf322f7ff007f810cb3;p=php Use new param API in standard/streamsfuncs --- diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c index 5979c8cccb..f0a08b68f7 100644 --- a/ext/standard/streamsfuncs.c +++ b/ext/standard/streamsfuncs.c @@ -56,10 +56,11 @@ PHP_FUNCTION(stream_socket_pair) php_stream *s1, *s2; php_socket_t pair[2]; - if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "lll", - &domain, &type, &protocol)) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_LONG(domain) + Z_PARAM_LONG(type) + Z_PARAM_LONG(protocol) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); if (0 != socketpair((int)domain, (int)type, (int)protocol, pair)) { char errbuf[256]; @@ -102,9 +103,15 @@ PHP_FUNCTION(stream_socket_client) RETVAL_FALSE; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "S|z/z/dlr", &host, &zerrno, &zerrstr, &timeout, &flags, &zcontext) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(1, 6) + Z_PARAM_STR(host) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL_DEREF_EX(zerrno, 0, 1) + Z_PARAM_ZVAL_DEREF_EX(zerrstr, 0, 1) + Z_PARAM_DOUBLE(timeout) + Z_PARAM_LONG(flags) + Z_PARAM_RESOURCE(zcontext) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); context = php_stream_context_from_zval(zcontext, flags & PHP_FILE_NO_DEFAULT_CONTEXT); @@ -186,9 +193,14 @@ PHP_FUNCTION(stream_socket_server) RETVAL_FALSE; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|z/z/lr", &host, &host_len, &zerrno, &zerrstr, &flags, &zcontext) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(1, 5) + Z_PARAM_STRING(host, host_len) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL_DEREF_EX(zerrno, 0, 1) + Z_PARAM_ZVAL_DEREF_EX(zerrstr, 0, 1) + Z_PARAM_LONG(flags) + Z_PARAM_RESOURCE(zcontext) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); context = php_stream_context_from_zval(zcontext, flags & PHP_FILE_NO_DEFAULT_CONTEXT); @@ -331,9 +343,13 @@ PHP_FUNCTION(stream_socket_sendto) php_sockaddr_storage sa; socklen_t sl = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs|ls", &zstream, &data, &datalen, &flags, &target_addr, &target_addr_len) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(2, 4) + Z_PARAM_RESOURCE(zstream) + Z_PARAM_STRING(data, datalen) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(flags) + Z_PARAM_STRING(target_addr, target_addr_len) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(stream, zstream); if (target_addr_len) { @@ -360,9 +376,13 @@ PHP_FUNCTION(stream_socket_recvfrom) zend_long flags = 0; int recvd; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "rl|lz/", &zstream, &to_read, &flags, &zremote) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(2, 4) + Z_PARAM_RESOURCE(zstream) + Z_PARAM_LONG(to_read) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(flags) + Z_PARAM_ZVAL_DEREF_EX(zremote, 0, 1) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(stream, zstream); @@ -406,9 +426,12 @@ PHP_FUNCTION(stream_get_contents) desiredpos = -1L; zend_string *contents; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "r|ll", &zsrc, &maxlen, &desiredpos) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(1, 3) + Z_PARAM_RESOURCE(zsrc) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(maxlen) + Z_PARAM_LONG(desiredpos) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(stream, zsrc); @@ -454,9 +477,13 @@ PHP_FUNCTION(stream_copy_to_stream) size_t len; int ret; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "rr|ll", &zsrc, &zdest, &maxlen, &pos) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(2, 4) + Z_PARAM_RESOURCE(zsrc) + Z_PARAM_RESOURCE(zdest) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(maxlen) + Z_PARAM_LONG(pos) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(src, zsrc); php_stream_from_zval(dest, zdest); @@ -1057,9 +1084,10 @@ PHP_FUNCTION(stream_context_get_default) zval *params = NULL; php_stream_context *context; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "|a", ¶ms) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY(params) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); if (FG(default_context) == NULL) { FG(default_context) = php_stream_context_alloc(); @@ -1081,9 +1109,9 @@ PHP_FUNCTION(stream_context_set_default) zval *options = NULL; php_stream_context *context; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "a", &options) == FAILURE) { - return; - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(options) + ZEND_PARSE_PARAMETERS_END(); if (FG(default_context) == NULL) { FG(default_context) = php_stream_context_alloc(); @@ -1103,9 +1131,11 @@ PHP_FUNCTION(stream_context_create) zval *options = NULL, *params = NULL; php_stream_context *context; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "|a!a!", &options, ¶ms) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(0, 2) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY_EX(options, 1, 0) + Z_PARAM_ARRAY_EX(params, 1, 0) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); context = php_stream_context_alloc(); @@ -1133,10 +1163,13 @@ static void apply_filter_to_stream(int append, INTERNAL_FUNCTION_PARAMETERS) php_stream_filter *filter = NULL; int ret; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs|lz", &zstream, - &filtername, &filternamelen, &read_write, &filterparams) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(2, 4) + Z_PARAM_RESOURCE(zstream) + Z_PARAM_STRING(filtername, filternamelen) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(read_write) + Z_PARAM_ZVAL_DEREF(filterparams) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(stream, zstream); @@ -1221,9 +1254,9 @@ PHP_FUNCTION(stream_filter_remove) zval *zfilter; php_stream_filter *filter; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &zfilter) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_RESOURCE(zfilter) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); filter = zend_fetch_resource(Z_RES_P(zfilter), NULL, php_file_le_stream_filter()); if (!filter) { @@ -1257,9 +1290,12 @@ PHP_FUNCTION(stream_get_line) zend_string *buf; php_stream *stream; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "rl|s", &zstream, &max_length, &str, &str_len) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(2, 3) + Z_PARAM_RESOURCE(zstream) + Z_PARAM_LONG(max_length) + Z_PARAM_OPTIONAL + Z_PARAM_STRING(str, str_len) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); if (max_length < 0) { php_error_docref(NULL, E_WARNING, "The maximum allowed length must be greater than or equal to zero"); @@ -1315,9 +1351,12 @@ PHP_FUNCTION(stream_set_timeout) php_stream *stream; int argc = ZEND_NUM_ARGS(); - if (zend_parse_parameters(argc, "rl|l", &socket, &seconds, µseconds) == FAILURE) { - return; - } + ZEND_PARSE_PARAMETERS_START(2, 3) + Z_PARAM_RESOURCE(socket) + Z_PARAM_LONG(seconds) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(microseconds) + ZEND_PARSE_PARAMETERS_END(); php_stream_from_zval(stream, socket); @@ -1360,9 +1399,10 @@ PHP_FUNCTION(stream_set_write_buffer) size_t buff; php_stream *stream; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "rl", &arg1, &arg2) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_RESOURCE(arg1) + Z_PARAM_LONG(arg2) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(stream, arg1); @@ -1388,9 +1428,10 @@ PHP_FUNCTION(stream_set_chunk_size) zval *zstream; php_stream *stream; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "rl", &zstream, &csize) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_RESOURCE(zstream) + Z_PARAM_LONG(csize) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); if (csize <= 0) { php_error_docref(NULL, E_WARNING, "The chunk size must be a positive integer, given " ZEND_LONG_FMT, csize); @@ -1423,9 +1464,10 @@ PHP_FUNCTION(stream_set_read_buffer) size_t buff; php_stream *stream; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "rl", &arg1, &arg2) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_RESOURCE(arg1) + Z_PARAM_LONG(arg2) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(stream, arg1); @@ -1505,9 +1547,9 @@ PHP_FUNCTION(stream_resolve_include_path) size_t filename_len; zend_string *resolved_path; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "p", &filename, &filename_len) == FAILURE) { - return; - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_PATH(filename, filename_len) + ZEND_PARSE_PARAMETERS_END(); resolved_path = zend_resolve_path(filename, (int)filename_len); @@ -1526,9 +1568,9 @@ PHP_FUNCTION(stream_is_local) php_stream *stream = NULL; php_stream_wrapper *wrapper = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "z", &zstream) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL_DEREF(zstream) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); if (Z_TYPE_P(zstream) == IS_RESOURCE) { php_stream_from_zval(stream, zstream); @@ -1557,9 +1599,9 @@ PHP_FUNCTION(stream_supports_lock) php_stream *stream; zval *zsrc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &zsrc) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_RESOURCE(zsrc) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(stream, zsrc); @@ -1579,9 +1621,9 @@ PHP_FUNCTION(stream_isatty) php_stream *stream; zend_long fileno; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &zsrc) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_RESOURCE(zsrc) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(stream, zsrc); @@ -1636,9 +1678,11 @@ PHP_FUNCTION(sapi_windows_vt100_support) int argc = ZEND_NUM_ARGS(); - if (zend_parse_parameters(argc, "r|b", &zsrc, &enable) == FAILURE) { - RETURN_FALSE; - } + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_RESOURCE(zsrc) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(enable) + ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE); php_stream_from_zval(stream, zsrc);