|
|
@ -298,6 +298,7 @@ static int process_line(URLContext *h, char *line, int line_count, |
|
|
|
{ |
|
|
|
{ |
|
|
|
HTTPContext *s = h->priv_data; |
|
|
|
HTTPContext *s = h->priv_data; |
|
|
|
char *tag, *p, *end; |
|
|
|
char *tag, *p, *end; |
|
|
|
|
|
|
|
char redirected_location[MAX_URL_SIZE]; |
|
|
|
|
|
|
|
|
|
|
|
/* end of header */ |
|
|
|
/* end of header */ |
|
|
|
if (line[0] == '\0') { |
|
|
|
if (line[0] == '\0') { |
|
|
@ -337,7 +338,8 @@ static int process_line(URLContext *h, char *line, int line_count, |
|
|
|
while (av_isspace(*p)) |
|
|
|
while (av_isspace(*p)) |
|
|
|
p++; |
|
|
|
p++; |
|
|
|
if (!av_strcasecmp(tag, "Location")) { |
|
|
|
if (!av_strcasecmp(tag, "Location")) { |
|
|
|
av_strlcpy(s->location, p, sizeof(s->location)); |
|
|
|
ff_make_absolute_url(redirected_location, sizeof(redirected_location), s->location, p); |
|
|
|
|
|
|
|
av_strlcpy(s->location, redirected_location, sizeof(s->location)); |
|
|
|
*new_location = 1; |
|
|
|
*new_location = 1; |
|
|
|
} else if (!av_strcasecmp (tag, "Content-Length") && s->filesize == -1) { |
|
|
|
} else if (!av_strcasecmp (tag, "Content-Length") && s->filesize == -1) { |
|
|
|
s->filesize = strtoll(p, NULL, 10); |
|
|
|
s->filesize = strtoll(p, NULL, 10); |
|
|
|