+2010-11-19 Giuseppe Scrivano <gscrivano@gnu.org>
+
+ * fttp.c (getftp): Accept new argument `count'. When `count' is
+ bigger than zero, assume the file can be overwritten.
+ (ftp_loop_internal): Pass new argument `count' to `getftp'.
+
+ * http.c (gethttp): Accept new argument `count'. When `count' is
+ bigger than zero, assume the file can be overwritten.
+ (http_loop): Pass new argument `count' to `gethttp'.
+ Reported by: Evgeny Kapun <abacabadabacaba@gmail.com>.
+
2010-08-08 Reza Snowdon <vivi@mage.me.uk>
* main.c (main): inserted 'defaults'.
and closes the control connection in case of error. */
static uerr_t
getftp (struct url *u, wgint passed_expected_bytes, wgint *qtyread,
- wgint restval, ccon *con)
+ wgint restval, ccon *con, int count)
{
int csock, dtsock, local_sock, res;
uerr_t err = RETROK; /* appease the compiler */
#endif /* def __VMS [else] */
}
else if (opt.noclobber || opt.always_rest || opt.timestamping || opt.dirstruct
- || opt.output_document)
+ || opt.output_document || count > 0)
{
if (opt.unlink && file_exists_p (con->target))
{
len = f->size;
else
len = 0;
- err = getftp (u, len, &qtyread, restval, con);
+ err = getftp (u, len, &qtyread, restval, con, count);
if (con->csock == -1)
con->st &= ~DONE_CWD;
server, and u->url will be requested. */
static uerr_t
gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy,
- struct iri *iri)
+ struct iri *iri, int count)
{
struct request *req;
fp = fopen (hs->local_file, "ab");
#endif /* def __VMS [else] */
}
- else if (ALLOW_CLOBBER)
+ else if (ALLOW_CLOBBER || count > 0)
{
if (opt.unlink && file_exists_p (hs->local_file))
{
*dt &= ~SEND_NOCACHE;
/* Try fetching the document, or at least its head. */
- err = gethttp (u, &hstat, dt, proxy, iri);
+ err = gethttp (u, &hstat, dt, proxy, iri, count);
/* Time? */
tms = datetime_str (time (NULL));