vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sun Dec 20 15:23:52 2015 +0200| [38990026db77346d172d6bc3355d88da82debb08] | committer: Rémi Denis-Courmont
https: use token helpers > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=38990026db77346d172d6bc3355d88da82debb08 --- modules/access/http/file.c | 8 ++------ modules/access/http/h1conn.c | 14 ++++++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/modules/access/http/file.c b/modules/access/http/file.c index 4d3d20a..5695c7f 100644 --- a/modules/access/http/file.c +++ b/modules/access/http/file.c @@ -206,12 +206,8 @@ bool vlc_http_file_can_seek(struct vlc_http_file *file) if (status == 206 || status == 416) return true; /* Partial Content */ - const char *str = vlc_http_msg_get_header(file->resp, "Accept-Ranges"); - /* FIXME: tokenize */ - if (str != NULL && !vlc_ascii_strcasecmp(str, "bytes")) - return true; - - return false; + return vlc_http_msg_get_token(file->resp, "Accept-Ranges", + "bytes") != NULL; } char *vlc_http_file_get_type(struct vlc_http_file *file) diff --git a/modules/access/http/h1conn.c b/modules/access/http/h1conn.c index 89ab73e..2a8246f 100644 --- a/modules/access/http/h1conn.c +++ b/modules/access/http/h1conn.c @@ -169,6 +169,7 @@ static struct vlc_http_msg *vlc_h1_stream_wait(struct vlc_http_stream *stream) { struct vlc_h1_conn *conn = vlc_h1_stream_conn(stream); struct vlc_http_msg *resp; + const char *str; size_t len; int minor; @@ -197,18 +198,19 @@ static struct vlc_http_msg *vlc_h1_stream_wait(struct vlc_http_stream *stream) if (minor >= 1) { - const char *str = vlc_http_msg_get_header(resp, "Connection"); - if (str != NULL && strcasestr(str, "close")) /* FIXME: tokenize */ + if (vlc_http_msg_get_token(resp, "Connection", "close") != NULL) conn->connection_close = true; - /* FIXME: tokenize, check if chunked is _last_ */ - str = vlc_http_msg_get_header(resp, "Transfer-Encoding"); - if (str != NULL && strcasestr(str, "chunked")) + str = vlc_http_msg_get_token(resp, "Transfer-Encoding", "chunked"); + if (str != NULL) { + if (vlc_http_next_token(str) != NULL) + return vlc_h1_stream_fatal(conn); /* unsupported TE */ + assert(conn->content_length == UINTMAX_MAX); stream = vlc_chunked_open(stream, conn->conn.tls); if (unlikely(stream == NULL)) - return NULL; + return vlc_h1_stream_fatal(conn); } } else _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
