2003-05-02  Not Zed  <NotZed@Ximian.com>

        [#41849]

        * e-summary-rdf.c (tree_walk): check the in-memory charset, not
        the transport charset when creating output.

svn path=/trunk/; revision=21101
This commit is contained in:
Not Zed
2003-05-05 01:03:56 +00:00
committed by Michael Zucci
parent 31289d7eb3
commit 1deb422a06
2 changed files with 22 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2003-05-02 Not Zed <NotZed@Ximian.com>
[#41849]
* e-summary-rdf.c (tree_walk): check the in-memory charset, not
the transport charset when creating output.
2003-04-18 Rodney Dawes <dobey@ximian.com>
[#21499]

View File

@ -180,6 +180,7 @@ tree_walk (xmlNodePtr root,
int i;
char *t, *u;
char *tmp;
char *charset;
if (r->summary->preferences == NULL) {
limit = 10;
@ -187,6 +188,15 @@ tree_walk (xmlNodePtr root,
limit = r->summary->preferences->limit;
}
/* check in-memory encoding first, fallback to transport encoding, which may or may not be correct */
if (r->cache->charset == XML_CHAR_ENCODING_UTF8
|| r->cache->charset == XML_CHAR_ENCODING_ASCII) {
charset = NULL;
} else {
/* bad/missing encoding, fallback to latin1 (locale?) */
charset = r->cache->encoding ? r->cache->encoding : "iso-8859-1";
}
/* FIXME: Need arrows */
if (r->shown == FALSE) {
char *p;
@ -252,8 +262,8 @@ tree_walk (xmlNodePtr root,
if (*u != '\0')
g_string_sprintfa (html, "<a href=\"%s\">", u);
if (r->cache->encoding) {
char *tmp = e_utf8_from_charset_string (r->cache->encoding, t);
if (charset) {
char *tmp = e_utf8_from_charset_string (charset, t);
g_string_append (html, tmp);
g_free (tmp);
} else {
@ -278,9 +288,9 @@ tree_walk (xmlNodePtr root,
tmp = g_strdup_printf ("<LI><font size=\"-1\"><A href=\"%s\">\n", layer_find_url(item[i]->children, "link", ""));
g_string_append (html, tmp);
g_free (tmp);
if (r->cache->encoding) {
char *tmp = e_utf8_from_charset_string (r->cache->encoding, p);
if (charset) {
char *tmp = e_utf8_from_charset_string (charset, p);
g_string_append (html, tmp);
g_free (tmp);
} else {