mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
Bug 983: Give precedence to HTTP Content-Type header over HTML meta tag
The Content-Type from the HTTP response header has
precedence over the Content-Type from a meta http-equiv tag.
http://www.w3.org/International/tutorials/tutorial-char-enc/en/all.html
This fixes bug 983.
(cherry picked from commit 6cf099a087
)
Conflicts:
NEWS
This commit is contained in:
parent
9079106894
commit
67ffde03ba
3
AUTHORS
3
AUTHORS
@ -269,6 +269,9 @@ Jon Shapcott <eden@xibalba.demon.co.uk>
|
||||
John <martian202002@yahoo.com>
|
||||
Tab browsing initial patch
|
||||
|
||||
Johannes Stezenbach <js@sig21.net>
|
||||
Precedence of HTTP vs. HTTP meta tag when setting Content-Type
|
||||
|
||||
Johannes Zellner <johannes@zellner.org>
|
||||
Minor misc hacking
|
||||
|
||||
|
2
NEWS
2
NEWS
@ -12,6 +12,8 @@ To be released as 0.12pre6 or 0.12rc1.
|
||||
|
||||
* major bug 764: Correctly initialize options on big-endian 64-bit
|
||||
systems.
|
||||
* bug 983: Give preference to the Content-Type specified in the HTTP
|
||||
header over that specified via the HTML meta tag.
|
||||
|
||||
Bugs that should be removed from NEWS before the 0.12.0 release:
|
||||
|
||||
|
@ -591,17 +591,14 @@ get_convert_table(unsigned char *head, int to_cp,
|
||||
|
||||
while (cp_index == -1) {
|
||||
unsigned char *ct_charset;
|
||||
unsigned char *meta;
|
||||
/* scan_http_equiv() appends the meta http-equiv directives to
|
||||
* the protocol header before this function is called, but the
|
||||
* HTTP Content-Type header has precedence, so the HTTP header
|
||||
* will be used if it exists and the meta header is only used
|
||||
* as a fallback. See bug 983. */
|
||||
unsigned char *a = parse_header(part, "Content-Type", &part);
|
||||
|
||||
if (!a) break;
|
||||
/* Content type info from document meta header.
|
||||
* scan_http_equiv() appends the meta stuff to the protocol header before
|
||||
* this function is called. Last Content-Type header field is used. */
|
||||
|
||||
while ((meta = parse_header(part, "Content-Type", &part))) {
|
||||
mem_free_set(&a, meta);
|
||||
}
|
||||
|
||||
parse_header_param(a, "charset", &ct_charset);
|
||||
if (ct_charset) {
|
||||
|
Loading…
Reference in New Issue
Block a user