wez Fri Feb 28 20:27:50 2003 EDT
Modified files:
/php4/ext/standard basic_functions.c streamsfuncs.c streamsfuncs.h
Log:
Expose php_stream_copy_to_stream as stream_copy_to_stream(); a high
performance alternative to looping reads and writes.
Index: php4/ext/standard/basic_functions.c
diff -u php4/ext/standard/basic_functions.c:1.592
php4/ext/standard/basic_functions.c:1.593
--- php4/ext/standard/basic_functions.c:1.592 Fri Feb 28 14:53:20 2003
+++ php4/ext/standard/basic_functions.c Fri Feb 28 20:27:50 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: basic_functions.c,v 1.592 2003/02/28 19:53:20 wez Exp $ */
+/* $Id: basic_functions.c,v 1.593 2003/03/01 01:27:50 wez Exp $ */
#include "php.h"
#include "php_streams.h"
@@ -683,6 +683,7 @@
PHP_FE(stream_socket_server,
second_and_third_args_force_ref)
PHP_FE(stream_socket_accept,
third_arg_force_ref)
PHP_FE(stream_socket_get_name,
NULL)
+ PHP_FE(stream_copy_to_stream,
NULL)
PHP_FE(fgetcsv,
NULL)
PHP_FE(flock,
NULL)
PHP_FE(get_meta_tags,
NULL)
Index: php4/ext/standard/streamsfuncs.c
diff -u php4/ext/standard/streamsfuncs.c:1.3 php4/ext/standard/streamsfuncs.c:1.4
--- php4/ext/standard/streamsfuncs.c:1.3 Fri Feb 28 16:03:35 2003
+++ php4/ext/standard/streamsfuncs.c Fri Feb 28 20:27:50 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: streamsfuncs.c,v 1.3 2003/02/28 21:03:35 wez Exp $ */
+/* $Id: streamsfuncs.c,v 1.4 2003/03/01 01:27:50 wez Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -260,6 +260,25 @@
TSRMLS_CC)) {
RETURN_FALSE;
}
+}
+/* }}} */
+
+/* {{{ proto long stream_copy_to_stream(resource source, resource dest [, long maxlen
])
+ Reads up to maxlen bytes from source stream and writes them to dest stream. */
+PHP_FUNCTION(stream_copy_to_stream)
+{
+ php_stream *src, *dest;
+ zval *zsrc, *zdest;
+ long maxlen = PHP_STREAM_COPY_ALL;
+
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr|l", &zsrc, &zdest,
&maxlen) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+ php_stream_from_zval(src, &zsrc);
+ php_stream_from_zval(dest, &zdest);
+
+ RETURN_LONG(php_stream_copy_to_stream(src, dest, maxlen));
}
/* }}} */
Index: php4/ext/standard/streamsfuncs.h
diff -u php4/ext/standard/streamsfuncs.h:1.1 php4/ext/standard/streamsfuncs.h:1.2
--- php4/ext/standard/streamsfuncs.h:1.1 Fri Feb 28 15:06:05 2003
+++ php4/ext/standard/streamsfuncs.h Fri Feb 28 20:27:50 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: streamsfuncs.h,v 1.1 2003/02/28 20:06:05 wez Exp $ */
+/* $Id: streamsfuncs.h,v 1.2 2003/03/01 01:27:50 wez Exp $ */
/* Flags for stream_socket_client */
#define PHP_STREAM_CLIENT_PERSISTENT 1
@@ -26,6 +26,8 @@
PHP_FUNCTION(stream_socket_server);
PHP_FUNCTION(stream_socket_accept);
PHP_FUNCTION(stream_socket_get_name);
+
+PHP_FUNCTION(stream_copy_to_stream);
PHP_FUNCTION(set_socket_blocking); /* deprecated */
PHP_FUNCTION(stream_set_blocking);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php