]> granicus.if.org Git - php/commitdiff
Use new param API in standard/streamsfuncs
authorSara Golemon <pollita@php.net>
Fri, 30 Dec 2016 05:27:08 +0000 (21:27 -0800)
committerSara Golemon <pollita@php.net>
Fri, 30 Dec 2016 05:28:38 +0000 (21:28 -0800)
ext/standard/streamsfuncs.c

index 5979c8cccb3595e88123eeaa87e5c8ac2b48c156..f0a08b68f72a5113c9362b47299fdddcbb7d8829 100644 (file)
@@ -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", &params) == 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, &params) == 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, &microseconds) == 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);