pollita         Wed Aug 20 17:59:30 2003 EDT

  Modified files:              
    /php-src/ext/standard       ftp_fopen_wrapper.c 
  Log:
  Add resume_pos (resume position) context option for restarting file downloads.
  
Index: php-src/ext/standard/ftp_fopen_wrapper.c
diff -u php-src/ext/standard/ftp_fopen_wrapper.c:1.59 
php-src/ext/standard/ftp_fopen_wrapper.c:1.60
--- php-src/ext/standard/ftp_fopen_wrapper.c:1.59       Fri Aug  8 02:18:25 2003
+++ php-src/ext/standard/ftp_fopen_wrapper.c    Wed Aug 20 17:59:29 2003
@@ -18,7 +18,7 @@
    |          Sara Golemon <[EMAIL PROTECTED]>                              |
    +----------------------------------------------------------------------+
  */
-/* $Id: ftp_fopen_wrapper.c,v 1.59 2003/08/08 06:18:25 pollita Exp $ */
+/* $Id: ftp_fopen_wrapper.c,v 1.60 2003/08/20 21:59:29 pollita Exp $ */
 
 #include "php.h"
 #include "php_globals.h"
@@ -472,6 +472,20 @@
 
        /* Send RETR/STOR command */
        if (read_write == 1) {
+               /* set resume position if applicable */
+               if (context &&
+                       php_stream_context_get_option(context, "ftp", "resume_pos", 
&tmpzval) == SUCCESS &&
+                       Z_TYPE_PP(tmpzval) == IS_LONG &&
+                       Z_LVAL_PP(tmpzval) > 0) {
+                       snprintf(tmp_line, 511, "REST %u\r\n", Z_LVAL_PP(tmpzval));
+                       php_stream_write_string(stream, tmp_line);
+                       result = GET_FTP_RESULT(stream);
+                       if (result < 300 || result > 399) {                     
+                               php_stream_wrapper_log_error(wrapper, options 
TSRMLS_CC, "Unable to resume from offset %d", Z_LVAL_PP(tmpzval));
+                               goto errexit;
+                       }
+               }
+
                /* retrieve file */
                php_stream_write_string(stream, "RETR ");
        } else if (read_write == 2) {



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

Reply via email to