2
Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
3
Copyright (C) 2005- The University of Notre Dame
4
This software is distributed under the GNU General Public License.
5
See the file COPYING for details.
13
#define BUFFER_SIZE 32768
15
ftp_lite_size_t ftp_lite_stream_to_stream( FILE *input, FILE *output )
17
char buffer[BUFFER_SIZE];
18
int actual_read=0, actual_write=0;
19
ftp_lite_size_t total=0;
22
actual_read = fread(buffer,1,BUFFER_SIZE,input);
23
if(actual_read<=0) break;
25
actual_write = fwrite(buffer,1,actual_read,output);
26
if(actual_write!=actual_read) break;
31
if( ( (actual_read<0) || (actual_write<0) ) && total==0 ) {
38
ftp_lite_size_t ftp_lite_stream_to_buffer( FILE *input, char **buffer )
40
int buffer_size = 8192;
42
ftp_lite_size_t total=0;
45
*buffer = malloc(buffer_size);
46
if(!*buffer) return -1;
49
actual = fread(&(*buffer)[total],1,buffer_size-total,input);
54
if( (buffer_size-total)<1 ) {
56
newbuffer = realloc(*buffer,buffer_size);