cvs: php-src /ext/standard ftp_fopen_wrapper.c

From: Date: Wed, 20 Aug 2003 21:59:30 +0000
Subject: cvs: php-src /ext/standard ftp_fopen_wrapper.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-23337@lists.php.net to get a copy of this message
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 <pollita@php.net> | +----------------------------------------------------------------------+ */ -/* $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) {

« previous php.cvs (#23337) next »