[svn] Make `-c' and `-O' work together.

Published in <sxsitkmgokh.fsf@florida.arsdigita.de>.
This commit is contained in:
hniksic 2001-04-03 05:24:49 -07:00
parent 66a0c39e22
commit f1d534cd8c
4 changed files with 18 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2001-04-02 Hrvoje Niksic <hniksic@arsdigita.com>
* http.c (http_loop): Ditto.
* ftp.c (ftp_loop_internal): Made the check whether to continue
retrieval `-O'-friendly.
2001-04-02 Hrvoje Niksic <hniksic@arsdigita.com>
* netrc.c (parse_netrc): Don't trim the line endings explicitly;

View File

@ -825,6 +825,9 @@ Error in server response, closing control connection.\n"));
/* This will silently fail for streams that don't correspond
to regular files, but that's OK. */
rewind (fp);
/* ftruncate is needed because opt.dfp is opened in append
mode if opt.always_rest is set. */
ftruncate (fileno (fp), 0);
clearerr (fp);
}
}
@ -1033,8 +1036,8 @@ ftp_loop_internal (struct urlinfo *u, struct fileinfo *f, ccon *con)
restval = 0L;
if ((count > 1 || opt.always_rest)
&& !(con->cmd & DO_LIST)
&& file_exists_p (u->local))
if (stat (u->local, &st) == 0)
&& file_exists_p (locf))
if (stat (locf, &st) == 0 && S_ISREG (st.st_mode))
restval = st.st_size;
/* Get the current time string. */
tms = time_str (NULL);

View File

@ -1305,6 +1305,9 @@ Accept: %s\r\n\
/* This will silently fail for streams that don't correspond
to regular files, but that's OK. */
rewind (fp);
/* ftruncate is needed because opt.dfp is opened in append
mode if opt.always_rest is set. */
ftruncate (fileno (fp), 0);
clearerr (fp);
}
}
@ -1487,8 +1490,8 @@ File `%s' already there, will not retrieve.\n"), u->local);
hstat.restval = 0L;
/* Decide whether or not to restart. */
if (((count > 1 && (*dt & ACCEPTRANGES)) || opt.always_rest)
&& file_exists_p (u->local))
if (stat (u->local, &st) == 0)
&& file_exists_p (locf))
if (stat (locf, &st) == 0 && S_ISREG (st.st_mode))
hstat.restval = st.st_size;
/* Decide whether to send the no-cache directive. */
if (u->proxy && (count > 1 || (opt.proxy_cache == 0)))

View File

@ -752,7 +752,7 @@ Can't timestamp and not clobber old files at the same time.\n"));
else
{
struct stat st;
opt.dfp = fopen (opt.output_document, "wb");
opt.dfp = fopen (opt.output_document, opt.always_rest ? "ab" : "wb");
if (opt.dfp == NULL)
{
perror (opt.output_document);