evolution-rss r422 - in trunk: . src
- From: lucilanga svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-rss r422 - in trunk: . src
- Date: Wed, 7 Jan 2009 20:20:31 +0000 (UTC)
Author: lucilanga
Date: Wed Jan 7 20:20:31 2009
New Revision: 422
URL: http://svn.gnome.org/viewvc/evolution-rss?rev=422&view=rev
Log:
2009-01-07 Lucian Langa <lucilanga gnome org>
* src/rss.c encode_rfc2047() - new function
* src/parser.c - correctly encode sender
(rfc2047)
Modified:
trunk/ChangeLog
trunk/src/Makefile.in
trunk/src/parser.c
trunk/src/rss.c
trunk/src/rss.h
Modified: trunk/src/Makefile.in
==============================================================================
--- trunk/src/Makefile.in (original)
+++ trunk/src/Makefile.in Wed Jan 7 20:20:31 2009
@@ -383,6 +383,9 @@
network-soup.c \
misc.c \
dbus.c \
+ fetch.c \
+ file-gio.c \
+ file-gio.h \
gecko-utils.cpp \
gecko-utils.h \
parser.c \
Modified: trunk/src/parser.c
==============================================================================
--- trunk/src/parser.c (original)
+++ trunk/src/parser.c Wed Jan 7 20:20:31 2009
@@ -738,7 +738,7 @@
update_channel(const char *chn_name, gchar *url, char *main_date, GArray *item, GtkWidget *progress)
{
guint i;
- gchar *sender = g_strdup_printf("%s <%s>", chn_name, chn_name);
+ gchar *sender;
CamelStore *store = mail_component_peek_local_store(NULL);
char *d2 = NULL;
xmlNodePtr el;
@@ -750,6 +750,11 @@
xmlChar *buff = NULL;
int size = 0;
+ gchar *safes = encode_rfc2047(chn_name);
+
+ sender = g_strdup_printf("%s <%s>", safes, chn_name);
+ g_free(safes);
+
migrate_crc_md5(chn_name, url);
gchar *buf = gen_md5(url);
@@ -788,10 +793,11 @@
if (q1)
{
q1 = g_strdelimit(q1, "><", ' ');
+ gchar *qsafe = encode_rfc2047(q1);
if (q3)
{
q3 = g_strdelimit(q3, "><", ' ');
- q = g_strdup_printf("%s <%s>", q1, q3);
+ q = g_strdup_printf("%s <%s>", qsafe, q3);
g_free(q1);
if (q2) g_free(q2);
g_free(q3);
@@ -802,10 +808,11 @@
q2 = g_strdelimit(q2, "><", ' ');
else
q2 = g_strdup(q1);
- q = g_strdup_printf("%s <%s>", q1, q2);
+ q = g_strdup_printf("%s <%s>", qsafe, q2);
g_free(q1);
g_free(q2);
}
+ g_free(qsafe);
}
else //then RSS or RDF
{
@@ -823,8 +830,10 @@
//evo will go crazy when it'll encounter ":" character
//it probably enforces strict rfc2047 compliance
q = g_strdelimit(q, "><:", ' ');
- gchar *tmp = g_strdup_printf("\"%s\" <\"%s\">", q, q);
+ gchar *qsafe = encode_rfc2047(q);
+ gchar *tmp = g_strdup_printf("\"%s\" <\"%s\">", qsafe, q);
g_free(q);
+ g_free(qsafe);
q = tmp;
if (q2) g_free(q2);
if (q3) g_free(q3);
@@ -879,25 +888,6 @@
gtk_main_iteration ();
if (!feed_is_new(feed_name, feed)) {
-/*
- if (fr)
- {
- while (fgets(rfeed, 511, fr) != NULL)
- {
- if (rfeed && strstr(rfeed, feed))
- {
- occ=1;
- break;
- }
- }
- (void)fseek(fr, 0L, SEEK_SET);
- }
-
- while (gtk_events_pending())
- gtk_main_iteration ();
-
- if (!occ)
- {*/
ftotal++;
p = decode_html_entities (p);
gchar *tmp = decode_utf8_entities(b);
Modified: trunk/src/rss.c
==============================================================================
--- trunk/src/rss.c (original)
+++ trunk/src/rss.c Wed Jan 7 20:20:31 2009
@@ -3493,12 +3493,8 @@
addr = camel_internet_address_new();
d(g_print("date:%s\n", CF->date));
- tmp = decode_entities(author);
- gchar *safe_author = camel_header_encode_string(tmp);
- g_free(tmp);
- camel_address_decode(CAMEL_ADDRESS(addr), safe_author);
+ camel_address_decode(CAMEL_ADDRESS(addr), author);
camel_mime_message_set_from(new, addr);
- g_free(safe_author);
camel_object_unref(addr);
int offset = 0;
@@ -4003,6 +3999,16 @@
}
gchar *
+encode_rfc2047(gchar *str)
+{
+ gchar *tmp = decode_entities(str);
+ gchar *rfctmp = camel_header_encode_string(tmp);
+ g_free(tmp);
+ return rfctmp;
+}
+
+
+gchar *
display_doc (RDF *r)
{
xmlNodePtr root = xmlDocGetRootElement (r->cache);
Modified: trunk/src/rss.h
==============================================================================
--- trunk/src/rss.h (original)
+++ trunk/src/rss.h Wed Jan 7 20:20:31 2009
@@ -317,6 +317,7 @@
gchar *rss_component_peek_base_directory(MailComponent *component);
static void custom_feed_timeout(void);
void gio_finish_feed (GObject *object, GAsyncResult *res, gpointer user_data);
+gchar *encode_rfc2047(gchar *str);
typedef struct FEED_FOLDERS {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]