mirror of
https://github.com/php/php-src.git
synced 2025-01-21 03:03:41 +08:00
- [doc] merge stream_set_read_buffer, equivalent of stream_set_write_buffer for read operations. Fixing possible bad effects while reading devices
This commit is contained in:
parent
f53f94d24d
commit
b298ed5b70
2
NEWS
2
NEWS
@ -4,6 +4,8 @@ PHP NEWS
|
||||
- Upgraded bundled sqlite to version 3.6.23.1. (Ilia)
|
||||
- Upgraded bundled PCRE to version 8.02. (Ilia)
|
||||
|
||||
- Added stream_set_read_buffer, allows to set the buffer for read operation.
|
||||
(Pierre).
|
||||
- Added stream filter support to mcrypt extension (ported from
|
||||
mcrypt_filter). (Stas)
|
||||
- Added full_special_chars filter to ext/filter (Rasmus)
|
||||
|
@ -2100,6 +2100,11 @@ ZEND_BEGIN_ARG_INFO(arginfo_stream_set_timeout, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
ZEND_BEGIN_ARG_INFO(arginfo_stream_set_read_buffer, 0)
|
||||
ZEND_ARG_INFO(0, fp)
|
||||
ZEND_ARG_INFO(0, buffer)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO(arginfo_stream_set_write_buffer, 0)
|
||||
ZEND_ARG_INFO(0, fp)
|
||||
ZEND_ARG_INFO(0, buffer)
|
||||
@ -3104,6 +3109,7 @@ const zend_function_entry basic_functions[] = { /* {{{ */
|
||||
PHP_FE(fputcsv, arginfo_fputcsv)
|
||||
PHP_FE(flock, arginfo_flock)
|
||||
PHP_FE(get_meta_tags, arginfo_get_meta_tags)
|
||||
PHP_FE(stream_set_read_buffer, arginfo_stream_set_read_buffer)
|
||||
PHP_FE(stream_set_write_buffer, arginfo_stream_set_write_buffer)
|
||||
PHP_FALIAS(set_file_buffer, stream_set_write_buffer, arginfo_stream_set_write_buffer)
|
||||
|
||||
|
@ -1372,16 +1372,8 @@ PHP_FUNCTION(stream_set_write_buffer)
|
||||
size_t buff;
|
||||
php_stream *stream;
|
||||
|
||||
switch (ZEND_NUM_ARGS()) {
|
||||
case 2:
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &arg1, &arg2) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
WRONG_PARAM_COUNT;
|
||||
/* NOTREACHED */
|
||||
break;
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &arg1, &arg2) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
php_stream_from_zval(stream, &arg1);
|
||||
@ -1399,6 +1391,35 @@ PHP_FUNCTION(stream_set_write_buffer)
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto int stream_set_read_buffer(resource fp, int buffer)
|
||||
Set file read buffer */
|
||||
PHP_FUNCTION(stream_set_read_buffer)
|
||||
{
|
||||
zval *arg1;
|
||||
int ret;
|
||||
long arg2;
|
||||
size_t buff;
|
||||
php_stream *stream;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &arg1, &arg2) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
php_stream_from_zval(stream, &arg1);
|
||||
|
||||
buff = arg2;
|
||||
|
||||
/* if buff is 0 then set to non-buffered */
|
||||
if (buff == 0) {
|
||||
ret = php_stream_set_option(stream, PHP_STREAM_OPTION_READ_BUFFER, PHP_STREAM_BUFFER_NONE, NULL);
|
||||
} else {
|
||||
ret = php_stream_set_option(stream, PHP_STREAM_OPTION_READ_BUFFER, PHP_STREAM_BUFFER_FULL, &buff);
|
||||
}
|
||||
|
||||
RETURN_LONG(ret == 0 ? 0 : EOF);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto int stream_socket_enable_crypto(resource stream, bool enable [, int cryptokind [, resource sessionstream]])
|
||||
Enable or disable a specific kind of crypto on the stream */
|
||||
PHP_FUNCTION(stream_socket_enable_crypto)
|
||||
|
@ -36,6 +36,7 @@ PHP_FUNCTION(stream_get_contents);
|
||||
PHP_FUNCTION(stream_set_blocking);
|
||||
PHP_FUNCTION(stream_select);
|
||||
PHP_FUNCTION(stream_set_timeout);
|
||||
PHP_FUNCTION(stream_set_read_buffer);
|
||||
PHP_FUNCTION(stream_set_write_buffer);
|
||||
PHP_FUNCTION(stream_get_transports);
|
||||
PHP_FUNCTION(stream_get_wrappers);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Generated by re2c 0.13.5 on Mon Jan 11 14:20:08 2010 */
|
||||
/* Generated by re2c 0.13.5 on Mon Apr 12 10:11:22 2010 */
|
||||
#line 1 "ext/standard/var_unserializer.re"
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
|
Loading…
Reference in New Issue
Block a user