iliaa           Fri Jun 17 19:29:21 2005 EDT

  Modified files:              
    /php-src    NEWS 
    /php-src/ext/standard       streamsfuncs.c 
  Log:
  Added offset parameter to the stream_copy_to_stream() function.
  
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1927&r2=1.1928&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1927 php-src/NEWS:1.1928
--- php-src/NEWS:1.1927 Fri Jun 17 12:24:01 2005
+++ php-src/NEWS        Fri Jun 17 19:29:19 2005
@@ -9,6 +9,7 @@
 - Rewrote strtotime() with support for timezones and tons of new formats.
   (Derick)
 - Added bindto socket context option. (Ilia)
+- Added offset parameter to the stream_copy_to_stream() function. (Ilia)
 - Fixed PDO shutdown problem (possible inifite loop running rollback on
   shutdown). (Wez)
 - Fixed PECL bug #3714 (beginTransaction doesn't work if you're in
http://cvs.php.net/diff.php/php-src/ext/standard/streamsfuncs.c?r1=1.55&r2=1.56&ty=u
Index: php-src/ext/standard/streamsfuncs.c
diff -u php-src/ext/standard/streamsfuncs.c:1.55 
php-src/ext/standard/streamsfuncs.c:1.56
--- php-src/ext/standard/streamsfuncs.c:1.55    Mon Mar 28 23:02:03 2005
+++ php-src/ext/standard/streamsfuncs.c Fri Jun 17 19:29:20 2005
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: streamsfuncs.c,v 1.55 2005/03/29 04:02:03 pollita Exp $ */
+/* $Id: streamsfuncs.c,v 1.56 2005/06/17 23:29:20 iliaa Exp $ */
 
 #include "php.h"
 #include "php_globals.h"
@@ -422,21 +422,26 @@
 }
 /* }}} */
 
-/* {{{ proto long stream_copy_to_stream(resource source, resource dest [, long 
maxlen ])
+/* {{{ proto long stream_copy_to_stream(resource source, resource dest [, long 
maxlen [, long pos]])
    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;
+       long maxlen = PHP_STREAM_COPY_ALL, pos = 0;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr|l", &zsrc, 
&zdest, &maxlen) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr|ll", &zsrc, 
&zdest, &maxlen, &pos) == FAILURE) {
                RETURN_FALSE;
        }
 
        php_stream_from_zval(src, &zsrc);
        php_stream_from_zval(dest, &zdest);
 
+       if (pos > 0 && php_stream_seek(src, pos, SEEK_SET) < 0) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to seek to 
%ld position in the stream.", pos);
+               RETURN_FALSE;
+       }
+
        RETURN_LONG(php_stream_copy_to_stream(src, dest, maxlen));
 }
 /* }}} */

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to