[evolution-rss] do not process broken date (not RFC-3339)



commit a46c3a6388774e2e3eb94bddd5a68fe59b26e3b5
Author: Lucian Langa <lucilanga gnome org>
Date:   Mon Dec 7 22:24:12 2009 +0200

    do not process broken date (not RFC-3339)

 src/parser.c             |    2 +-
 src/rss-config-factory.c |   13 +++++++------
 src/rss.c                |   21 ++++++++++++---------
 3 files changed, 20 insertions(+), 16 deletions(-)
---
diff --git a/src/parser.c b/src/parser.c
index d159e63..06eb4f1 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -791,7 +791,7 @@ tree_walk (xmlNodePtr root, RDF *r)
 			walk = walk->next;
 		}
 	} while (rewalk);
-	
+
 	if (channel == NULL) {
 		fprintf(stderr, "ERROR:No channel definition.\n");
 		return NULL;
diff --git a/src/rss-config-factory.c b/src/rss-config-factory.c
index 875171f..35416e0 100644
--- a/src/rss-config-factory.c
+++ b/src/rss-config-factory.c
@@ -39,6 +39,7 @@
 #include <shell/evolution-config-control.h>
 #include <bonobo/bonobo-shlib-factory.h>
 #else
+#include <e-util/e-alert-dialog.h>
 #include <misc/e-preferences-window.h>
 #include <mail/e-mail-local.h>
 #include <shell/e-shell.h>
@@ -729,7 +730,7 @@ feeds_dialog_add(GtkDialog *d, gpointer data)
 #if EVOLUTION_VERSION < 22904
 	msg_feeds = e_error_new(
 #else
-	msg_feeds = e_alert_new_dialog_for_args(
+	msg_feeds = e_alert_dialog_new_for_args(
 #endif
 		GTK_WINDOW(rf->preferences),
 		"org-gnome-evolution-rss:rssmsg",
@@ -998,7 +999,7 @@ remove_feed_dialog(gchar *msg)
 #if EVOLUTION_VERSION < 22904
   dialog1 = e_error_new(
 #else
-  dialog1 = e_alert_new_dialog_for_args(
+  dialog1 = e_alert_dialog_new_for_args(
 #endif
 		GTK_WINDOW(rf->preferences),
 		"org-gnome-evolution-rss:ask-delete-feed",
@@ -1077,7 +1078,7 @@ process_dialog_edit(add_feed *feed, gchar *url, gchar *feed_name)
 #if EVOLUTION_VERSION < 22904
 	msg_feeds = e_error_new(
 #else
-	msg_feeds = e_alert_new_dialog_for_args(
+	msg_feeds = e_alert_dialog_new_for_args(
 #endif
 		GTK_WINDOW(rf->preferences),
 		"org-gnome-evolution-rss:rssmsg",
@@ -1331,7 +1332,7 @@ import_opml(gchar *file)
 #if EVOLUTION_VERSION < 22904
         import_dialog = e_error_new(
 #else
-        import_dialog = e_alert_new_dialog_for_args(
+        import_dialog = e_alert_dialog_new_for_args(
 #endif
 		GTK_WINDOW(rf->preferences),
 		"shell:importing",
@@ -1833,7 +1834,7 @@ export_opml(gchar *file)
 #if EVOLUTION_VERSION < 22904
         import_dialog = e_error_new(
 #else
-        import_dialog = e_alert_new_dialog_for_args(
+        import_dialog = e_alert_dialog_new_for_args(
 #endif
 			GTK_WINDOW(rf->preferences),
 			"shell:importing",
@@ -1973,7 +1974,7 @@ process_cookies(SoupCookieJar *jar)
 #if EVOLUTION_VERSION < 22904
 	import_dialog = e_error_new(
 #else
-	import_dialog = e_alert_new_dialog_for_args(
+	import_dialog = e_alert_dialog_new_for_args(
 #endif
 			GTK_WINDOW(rf->preferences),
 			"shell:importing",
diff --git a/src/rss.c b/src/rss.c
index 76b3f8b..3020fe7 100644
--- a/src/rss.c
+++ b/src/rss.c
@@ -58,6 +58,7 @@ int rss_verbose_debug = 0;
 #include <misc/e-activity-handler.h>
 #include <bonobo/bonobo-shlib-factory.h>
 #else
+#include <e-util/e-alert-dialog.h>
 #include <glib/gi18n.h>
 #include <mail/e-mail-local.h>
 #include <shell/e-shell.h>
@@ -364,7 +365,7 @@ rss_error(gpointer key, gchar *name, gchar *error, gchar *emsg)
 			windows = e_shell_get_watched_windows (shell);
 			parent = (windows != NULL) ? GTK_WINDOW (windows->data) : NULL;
 
-			ed = e_alert_new_dialog_for_args(parent,
+			ed = e_alert_dialog_new_for_args(parent,
 					 "org-gnome-evolution-rss:feederr",
 					error, msg, NULL);
 #else
@@ -421,7 +422,7 @@ rss_error(gpointer key, gchar *name, gchar *error, gchar *emsg)
 		windows = e_shell_get_watched_windows (shell);
 		parent = (windows != NULL) ? GTK_WINDOW (windows->data) : NULL;
 
-                ed  = e_alert_new_dialog_for_args(parent,
+                ed  = e_alert_dialog_new_for_args(parent,
 				"org-gnome-evolution-rss:feederr",
 				error, msg, NULL);
 #else
@@ -4846,7 +4847,7 @@ org_gnome_evolution_rss(void *ep, EMPopupTargetSelect *t)
 	windows = e_shell_get_watched_windows (shell);
 	parent = (windows != NULL) ? GTK_WINDOW (windows->data) : NULL;
 
-	readrss_dialog = e_alert_new_dialog_for_args(parent,
+	readrss_dialog = e_alert_dialog_new_for_args(parent,
 #else
 	readrss_dialog = e_error_new(NULL,
 #endif
@@ -5126,6 +5127,7 @@ create_mail(create_feed *CF)
 	camel_object_unref(addr);
 
 	offset = 0;
+	actual_time = CAMEL_MESSAGE_DATE_CURRENT;
 
 	//handle pubdate
 	if (CF->date) {
@@ -5138,12 +5140,13 @@ create_mail(create_feed *CF)
 		}
 	} else {
 		if (CF->dcdate)	{ //dublin core
-			strptime(CF->dcdate, "%Y-%m-%dT%T%z", &tm);
-			time = mktime(&tm);
-			actual_time = camel_header_decode_date (ctime(&time), &offset);
-			camel_mime_message_set_date(new, actual_time, offset);
-		} else /*use 'now' as time for failsafe*/
-			camel_mime_message_set_date(new, CAMEL_MESSAGE_DATE_CURRENT, 0);
+			if (strptime(CF->dcdate, "%Y-%m-%dT%T%z", &tm)) {
+				time = mktime(&tm);
+				actual_time = camel_header_decode_date (ctime(&time), &offset);
+			}
+		/*use 'now' as time for failsafe*/
+		camel_mime_message_set_date(new, actual_time, offset);
+		}
 	}
 	time = camel_mime_message_get_date (new, NULL) ;
 	time_str = asctime(gmtime(&time));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]