mirror of
https://github.com/curl/curl.git
synced 2026-08-24 18:23:33 +03:00
- Song Ma's warning if -r/--range is given with a "bad" range, also noted in
the man page now.
This commit is contained in:
parent
0bbc759c0c
commit
a93af43974
3 changed files with 29 additions and 3 deletions
19
src/main.c
19
src/main.c
|
|
@ -2350,7 +2350,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||
(and won't actually be range by definition). The man page previously
|
||||
claimed that to be a good way, why this code is added to work-around
|
||||
it. */
|
||||
if(!strchr(nextarg, '-')) {
|
||||
if(ISDIGIT(*nextarg) && !strchr(nextarg, '-')) {
|
||||
char buffer[32];
|
||||
curl_off_t off;
|
||||
warnf(config,
|
||||
|
|
@ -2360,10 +2360,23 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||
snprintf(buffer, sizeof(buffer), "%Od-", off);
|
||||
GetStr(&config->range, buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* byte range requested */
|
||||
char* tmp_range;
|
||||
tmp_range=nextarg;
|
||||
while(*tmp_range != '\0') {
|
||||
if(!ISDIGIT(*tmp_range)&&*tmp_range!='-'&&*tmp_range!=',') {
|
||||
warnf(config,"Invalid character is found in given range. "
|
||||
"A specified range MUST have only digits in "
|
||||
"\'start\'-\'stop\'. The server's response to this "
|
||||
"request is uncertain.\n");
|
||||
break;
|
||||
}
|
||||
tmp_range++;
|
||||
}
|
||||
/* byte range requested */
|
||||
GetStr(&config->range, nextarg);
|
||||
|
||||
}
|
||||
break;
|
||||
case 'R':
|
||||
/* use remote file's time */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue