support restart during proxy transfers (the traditional ftp command, not the

http proxy). seems to work with my limited testing (i'm not a big user of
proxy).  bug noted by Jorgen Lundman <lundman@argonaut.com> in [bin/5948]
This commit is contained in:
lukem 1999-02-19 16:29:27 +00:00
parent 38803874bb
commit 48923b69bf
1 changed files with 16 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: ftp.c,v 1.40 1999/01/24 02:39:30 lukem Exp $ */ /* $NetBSD: ftp.c,v 1.41 1999/02/19 16:29:27 lukem Exp $ */
/* /*
* Copyright (c) 1985, 1989, 1993, 1994 * Copyright (c) 1985, 1989, 1993, 1994
@ -38,7 +38,7 @@
#if 0 #if 0
static char sccsid[] = "@(#)ftp.c 8.6 (Berkeley) 10/27/94"; static char sccsid[] = "@(#)ftp.c 8.6 (Berkeley) 10/27/94";
#else #else
__RCSID("$NetBSD: ftp.c,v 1.40 1999/01/24 02:39:30 lukem Exp $"); __RCSID("$NetBSD: ftp.c,v 1.41 1999/02/19 16:29:27 lukem Exp $");
#endif #endif
#endif /* not lint */ #endif /* not lint */
@ -1426,7 +1426,13 @@ proxtrans(cmd, local, remote)
if (setjmp(ptabort)) if (setjmp(ptabort))
goto abort; goto abort;
oldintr = signal(SIGINT, abortpt); oldintr = signal(SIGINT, abortpt);
if (command("%s %s", cmd, remote) != PRELIM) { if ((restart_point &&
#ifndef NO_QUAD
(command("REST %qd", (long long) restart_point) != CONTINUE)
#else
(command("REST %ld", (long) restart_point) != CONTINUE)
#endif
) || (command("%s %s", cmd, remote) != PRELIM)) {
(void)signal(SIGINT, oldintr); (void)signal(SIGINT, oldintr);
pswitch(1); pswitch(1);
return; return;
@ -1434,7 +1440,13 @@ proxtrans(cmd, local, remote)
sleep(2); sleep(2);
pswitch(1); pswitch(1);
secndflag++; secndflag++;
if (command("%s %s", cmd2, local) != PRELIM) if ((restart_point &&
#ifndef NO_QUAD
(command("REST %qd", (long long) restart_point) != CONTINUE)
#else
(command("REST %ld", (long) restart_point) != CONTINUE)
#endif
) || (command("%s %s", cmd2, local) != PRELIM))
goto abort; goto abort;
ptflag++; ptflag++;
(void)getreply(0); (void)getreply(0);