mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
'resume from'-fix. When using "-C -" and doing multiple file download, the
first resume was used on all files instead of being reset between each file. As found by Bjrn Stenberg.
This commit is contained in:
parent
cd4aed6690
commit
6f2fca53ad
14
src/main.c
14
src/main.c
@ -309,6 +309,7 @@ struct Configurable {
|
|||||||
char *useragent;
|
char *useragent;
|
||||||
char *cookie;
|
char *cookie;
|
||||||
bool use_resume;
|
bool use_resume;
|
||||||
|
bool resume_from_current;
|
||||||
int resume_from;
|
int resume_from;
|
||||||
char *postfields;
|
char *postfields;
|
||||||
long postfieldsize;
|
long postfieldsize;
|
||||||
@ -757,8 +758,14 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||||||
break;
|
break;
|
||||||
case 'C':
|
case 'C':
|
||||||
/* This makes us continue an ftp transfer at given position */
|
/* This makes us continue an ftp transfer at given position */
|
||||||
if(!strequal(nextarg, "-"))
|
if(!strequal(nextarg, "-")) {
|
||||||
config->resume_from= atoi(nextarg);
|
config->resume_from= atoi(nextarg);
|
||||||
|
config->resume_from_current = FALSE;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
config->resume_from_current = TRUE;
|
||||||
|
config->resume_from = 0;
|
||||||
|
}
|
||||||
config->use_resume=TRUE;
|
config->use_resume=TRUE;
|
||||||
break;
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
@ -1639,7 +1646,7 @@ operate(struct Configurable *config, int argc, char *argv[])
|
|||||||
free(storefile);
|
free(storefile);
|
||||||
}
|
}
|
||||||
|
|
||||||
if((0 == config->resume_from) && config->use_resume) {
|
if(config->resume_from_current) {
|
||||||
/* we're told to continue where we are now, then we get the size of
|
/* we're told to continue where we are now, then we get the size of
|
||||||
the file as it is now and open it for append instead */
|
the file as it is now and open it for append instead */
|
||||||
|
|
||||||
@ -1707,8 +1714,7 @@ operate(struct Configurable *config, int argc, char *argv[])
|
|||||||
|
|
||||||
}
|
}
|
||||||
if((config->conf&CONF_UPLOAD) &&
|
if((config->conf&CONF_UPLOAD) &&
|
||||||
config->use_resume &&
|
config->resume_from_current) {
|
||||||
(0==config->resume_from)) {
|
|
||||||
config->resume_from = -1; /* -1 will then force get-it-yourself */
|
config->resume_from = -1; /* -1 will then force get-it-yourself */
|
||||||
}
|
}
|
||||||
if(config->headerfile) {
|
if(config->headerfile) {
|
||||||
|
Loading…
Reference in New Issue
Block a user