1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-07-01 02:05:33 +00:00

Reset iconv_cp when switching from Big5 -> UTF-8 to UTF-8 -> UTF-8.

After viewing a page with Big5 charset and next a page with UTF-8
charset iconv was used, so slows down a bit.
Now iconv is used only for those charsets, which has the iconv
bitfield set.
This commit is contained in:
Witold Filipczyk 2010-07-24 09:57:59 +02:00 committed by Witold Filipczyk
parent 6d567bb8ce
commit 90b37ff15f

View File

@ -985,16 +985,20 @@ get_translation_table(int from, int to)
}
if (codepages[from].iconv) {
struct conv_table *table = get_translation_table_to_utf8(34);
struct conv_table *table2 = get_translation_table_to_utf8(34);
if (table) table->iconv_cp = from;
return table;
if (table2) table2->iconv_cp = from;
return table2;
}
if (/*from == to ||*/ from == -1 || to == -1)
return NULL;
if (is_cp_ptr_utf8(&codepages[to]))
return get_translation_table_to_utf8(from);
if (is_cp_ptr_utf8(&codepages[to])) {
struct conv_table *table2 = get_translation_table_to_utf8(from);
if (table2) table2->iconv_cp = -1;
return table2;
}
if (from == lfr && to == lto)
return table;
lfr = from;