builtin-mailinfo.c: compare character encodings case insensitively

When converting between character encodings, git tests whether the "from"
encoding and the "to" encoding have the same name.  git should perform this
test case insensitively so that e.g. utf-8 is not seen as a different
encoding than UTF-8.

Additionally, it is not necessary to call tolower() anymore on the encodings
extracted from the mail message.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Brandon Casey 2009-05-18 18:44:40 -05:00 коммит произвёл Junio C Hamano
Родитель 330db18c02
Коммит ed1e3985e4
1 изменённых файлов: 2 добавлений и 4 удалений

Просмотреть файл

@ -193,8 +193,7 @@ static void handle_content_type(struct strbuf *line)
*content_top = boundary;
boundary = NULL;
}
if (slurp_attr(line->buf, "charset=", &charset))
strbuf_tolower(&charset);
slurp_attr(line->buf, "charset=", &charset);
if (boundary) {
strbuf_release(boundary);
@ -494,7 +493,7 @@ static void convert_to_utf8(struct strbuf *line, const char *charset)
return;
}
if (!strcmp(metainfo_charset, charset))
if (!strcasecmp(metainfo_charset, charset))
return;
out = reencode_string(line->buf, metainfo_charset, charset);
if (!out)
@ -550,7 +549,6 @@ static int decode_header_bq(struct strbuf *it)
if (cp + 3 - it->buf > it->len)
goto decode_header_bq_out;
strbuf_add(&charset_q, ep, cp - ep);
strbuf_tolower(&charset_q);
encoding = cp[1];
if (!encoding || cp[2] != '?')