Back out previous commit: do not use read(), but fread (). Change BUFFER_SIZE

to 1K to avoid waiting too long between 2 progress reports in the case of a
slow transfer.
Move the signal()/setitimer() code just before the read loop because the
ftpio library set and reset the timer internally.
This commit is contained in:
Jean-Marc Zucconi 1996-07-05 00:06:36 +00:00
parent b95fc60906
commit 4d705fe0f6
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=16964

View File

@ -24,7 +24,7 @@
* SUCH DAMAGE.
*/
/* $Id: main.c,v 1.6 1996/06/25 21:33:18 ache Exp $ */
/* $Id: main.c,v 1.7 1996/07/02 01:49:47 jmz Exp $ */
#include <stdlib.h>
#include <stdio.h>
@ -46,7 +46,7 @@
#include <ftpio.h>
#define BUFFER_SIZE 32*1024
#define BUFFER_SIZE 1024
#define HTTP_TIMEOUT 60 /* seconds */
#define FTP_TIMEOUT 300 /* seconds */
@ -208,14 +208,6 @@ ftpget ()
time_t t;
struct itimerval timer;
signal (SIGALRM, t_out);
if ((cp = getenv("FTP_TIMEOUT")) != NULL)
timer.it_interval.tv_sec = timer.it_value.tv_sec = atoi(cp);
else
timer.it_interval.tv_sec = timer.it_value.tv_sec = FTP_TIMEOUT;
timer.it_interval.tv_usec = timer.it_value.tv_usec = 0;
setitimer(ITIMER_REAL, &timer, 0);
if ((cp = getenv("FTP_PASSWORD")) != NULL)
strcpy(ftp_pw, cp);
else {
@ -279,9 +271,17 @@ ftpget ()
} else
file = stdout;
signal (SIGALRM, t_out);
if ((cp = getenv("FTP_TIMEOUT")) != NULL)
timer.it_interval.tv_sec = timer.it_value.tv_sec = atoi(cp);
else
timer.it_interval.tv_sec = timer.it_value.tv_sec = FTP_TIMEOUT;
timer.it_interval.tv_usec = timer.it_value.tv_usec = 0;
setitimer(ITIMER_REAL, &timer, 0);
display (size, size0);
while (1) {
n = status = read (fileno (fp), buffer, BUFFER_SIZE);
n = status = fread (buffer, 1, BUFFER_SIZE, fp);
if (status <= 0)
break;
display (size, n);