[evolution-rss] various cleanups and warnings fix



commit 2f20954e7e265f2fb3bdb3d4182c06ee8be44ba4
Author: Lucian Langa <lucilanga gnome org>
Date:   Wed May 6 00:03:16 2009 +0300

    various cleanups and warnings fix
---
 ChangeLog                |   23 ++++++
 src/Makefile.am          |    9 +-
 src/Makefile.in          |   12 ++-
 src/dbus.c               |   21 ++++--
 src/gecko-utils.h        |    1 +
 src/misc.h               |    6 ++
 src/network-soup.c       |    2 +
 src/parser.c             |   28 +++-----
 src/rss-config-factory.c |    7 +-
 src/rss-config-factory.h |    2 +-
 src/rss.c                |  183 +++++++++++++++++++--------------------------
 src/rss.h                |   17 +++--
 12 files changed, 158 insertions(+), 153 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1598a8b..61c87f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,28 @@
 2009-05-05  Lucian Langa  <lucilanga gnome org>
 
+	* src/Makefile.am:
+	* src/Makefile.in:
+	* src/dbus.c (filter_function):
+	* src/gecko-utils.h:
+	* src/misc.h:
+	* src/network-soup.c:
+	* src/parser.c (html_set_base), (layer_find_tag_prop):
+	* src/rss-config-factory.c:
+	* src/rss-config-factory.h:
+	* src/rss.c (statuscb), (create_user_pass_dialog),
+	(proxy_auth_dialog), (feed_to_xml), (feed_new_from_xml),
+	(migrate_old_config), (webkit_click), (gecko_click),
+	(generate_safe_chn_name), (setup_feed), (fetch_feed),
+	(print_comments), (finish_update_feed_image), (update_main_folder),
+	(write_feeds_folder_line), (custom_update_articles),
+	(custom_fetch_feed), (flaten_status), (rss_online),
+	(org_gnome_cooly_rss_startup), (org_gnome_cooly_rss),
+	(create_mail), (feed_is_new):
+	* src/rss.h: various cleanups; remove uneeded vars, add missing
+	headers, fix compile warnings; move proto to header files
+
+2009-05-05  Lucian Langa  <lucilanga gnome org>
+
 	* src/Makefile.am: add misc.c and rss-config-factory.c to build list
 	* src/fetch.c (fetch_blocking), (fetch_unblocking): headers cleanup
 	* src/misc.c (check_if_match), (gen_crc):
diff --git a/src/Makefile.am b/src/Makefile.am
index 6038b27..ac8416a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,7 +16,7 @@ INCLUDES =							\
 	-DRENDER_N=$(RENDER_N)					\
 	-DHAVE_DBUS=$(DBD)					\
 	-DDBUS_API_SUBJECT_TO_CHANGE				\
-	$(EVOLUTION_RSS_EPLUGIN_CFLAGS)
+	$(EVOLUTION_RSS_EPLUGIN_CFLAGS) -Wall
 
  
 if ! HAVE_XPCOM_GLUE
@@ -69,9 +69,10 @@ plugin_DATA = org-gnome-evolution-rss.eplug \
 plugin_LTLIBRARIES = liborg-gnome-evolution-rss.la
 
 
-SOURCES = 	rss.c			\
-		rss-config-factory.c	\
-	  	misc.c
+SOURCES = 	dbus.c			\
+	  	misc.c			\
+		rss.c			\
+		rss-config-factory.c
 if HAVE_GECKO
 SOURCES+= gecko-utils.cpp
 endif
diff --git a/src/Makefile.in b/src/Makefile.in
index ba8d8e1..ce92ae1 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -63,10 +63,11 @@ am__installdirs = "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(bindir)" \
 pluginLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(plugin_LTLIBRARIES)
 liborg_gnome_evolution_rss_la_LIBADD =
-am__liborg_gnome_evolution_rss_la_SOURCES_DIST = rss.c \
-	rss-config-factory.c misc.c gecko-utils.cpp
+am__liborg_gnome_evolution_rss_la_SOURCES_DIST = dbus.c misc.c rss.c \
+	rss-config-factory.c gecko-utils.cpp
 @HAVE_GECKO_TRUE am__objects_1 = gecko-utils.lo
-am__objects_2 = rss.lo rss-config-factory.lo misc.lo $(am__objects_1)
+am__objects_2 = dbus.lo misc.lo rss.lo rss-config-factory.lo \
+	$(am__objects_1)
 am_liborg_gnome_evolution_rss_la_OBJECTS = $(am__objects_2)
 liborg_gnome_evolution_rss_la_OBJECTS =  \
 	$(am_liborg_gnome_evolution_rss_la_OBJECTS)
@@ -330,7 +331,7 @@ INCLUDES = -I$(EVOLUTION_SOURCE) -I$(top_srcdir) $(RENDER_CFLAGS) \
 	-DLIBSOUP_VERSION="$(SOUP_VERSION)" -DRENDER=\""$(RENDER)"\" \
 	-DRENDER_N=$(RENDER_N) -DHAVE_DBUS=$(DBD) \
 	-DDBUS_API_SUBJECT_TO_CHANGE $(EVOLUTION_RSS_EPLUGIN_CFLAGS) \
-	$(am__append_1)
+	-Wall $(am__append_1)
 RSS_MENU = \
 	<hook class=\"org.gnome.evolution.mail.bonobomenu:1.0\">\n		\
       		<menu target=\"select\" id=\"org.gnome.evolution.mail.browser\">\n	\
@@ -347,7 +348,7 @@ plugin_DATA = org-gnome-evolution-rss.eplug \
 	org-gnome-evolution-rss.xml
 
 plugin_LTLIBRARIES = liborg-gnome-evolution-rss.la
-SOURCES = rss.c rss-config-factory.c misc.c $(am__append_2)
+SOURCES = dbus.c misc.c rss.c rss-config-factory.c $(am__append_2)
 liborg_gnome_evolution_rss_la_SOURCES = $(SOURCES)
 liborg_gnome_evolution_rss_la_LDFLAGS = -module -avoid-version $(WEBKIT_LIBS) $(GECKO_LIBS) $(LIBSOUP_LIBS) $(NO_UNDEFINED_LIBS) $(NO_UNDEFINED)
 #$(GECKO_RPATH)
@@ -499,6 +500,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ AMDEP_TRUE@@am__include@ @am__quote  /$(DEPDIR)/dbus Plo am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote  /$(DEPDIR)/evolution-import-rss Po am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote  /$(DEPDIR)/gecko-utils Plo am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote  /$(DEPDIR)/misc Plo am__quote@
diff --git a/src/dbus.c b/src/dbus.c
index bfbf797..dcd5926 100644
--- a/src/dbus.c
+++ b/src/dbus.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 /*  Evoution RSS Reader Plugin
- *  Copyright (C) 2007  Lucian Langa <cooly gnome eu org> 
+ *  Copyright (C) 2007-2009  Lucian Langa <cooly gnome eu org> 
  *  
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -18,26 +18,33 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#include <config.h>
+#include "config.h"
 #endif
 
+
 #include <string.h>
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <dbus/dbus-glib.h>
 #include <dbus/dbus-glib-lowlevel.h>
+#include <gtk/gtk.h>
 
-#include <rss.h>
-#include <rss-config-factory.h>
+#include "rss.h"
+//#include <rss-config-factory.h>
+#include "misc.h"
+#include "dbus.h"
 
 #define DBUS_PATH "/org/gnome/evolution/mail/rss"
 #define DBUS_INTERFACE "org.gnome.evolution.mail.rss.in"
 #define DBUS_REPLY_INTERFACE "org.gnome.evolution.mail.rss.out"
 
-static DBusConnection *init_dbus (void);
+#define d(x)
 
 static DBusConnection *bus = NULL;
 static gboolean enabled = FALSE;
 
+extern rssfeed *rf;
+
 /*static void
 send_dbus_message (const char *name, const char *data, guint new)
 {
@@ -115,7 +122,7 @@ filter_function (DBusConnection *connection, DBusMessage *message, void *user_da
                 		if (setup_feed(feed))
 				{
 					gchar *msg = g_strdup_printf(_("New feed imported: %s"),
-							lookup_chn_name_by_url(feed->feed_url));
+							(char *)lookup_chn_name_by_url(feed->feed_url));
 					taskbar_push_message(msg);
 					g_free(msg);
 				}	
@@ -153,7 +160,7 @@ filter_function (DBusConnection *connection, DBusMessage *message, void *user_da
 	return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
 }
 
-static DBusConnection *
+DBusConnection *
 init_dbus (void)
 {
 	static DBusConnection *bus = NULL;
diff --git a/src/gecko-utils.h b/src/gecko-utils.h
index 5da2590..c39d43c 100644
--- a/src/gecko-utils.h
+++ b/src/gecko-utils.h
@@ -31,6 +31,7 @@ gboolean       gecko_init         (void);
 void           gecko_shutdown     (void);
 void gecko_set_zoom (GtkWidget *moz, gfloat zoom);
 gfloat gecko_get_zoom (GtkWidget *moz);
+gint gecko_get_mouse_event_button(gpointer event);
 
 G_END_DECLS
 
diff --git a/src/misc.h b/src/misc.h
index 6e8db58..cf8b29f 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -19,10 +19,16 @@
 #ifndef MISC_H
 #define MISC_H 1
 
+gchar *gen_crc(const char *msg);
 gchar *gen_md5(gchar *buffer);
 gchar *strplchr(gchar *source);
 gchar *markup_decode (gchar *str);
 gboolean check_if_match (gpointer key, gpointer value, gpointer user_data);
 gchar *get_server_from_uri(gchar *uri);
+gchar *get_port_from_uri(gchar *uri);
+gboolean is_rfc822(char *in);
+gchar *extract_main_folder(gchar *folder);
+gchar *strextr(gchar *text, gchar *substr);
+gchar *sanitize_url(gchar *text);
 
 #endif
diff --git a/src/network-soup.c b/src/network-soup.c
index 67daa1d..9acf347 100644
--- a/src/network-soup.c
+++ b/src/network-soup.c
@@ -32,6 +32,7 @@
 
 gint proxy_type = 0;
 extern rssfeed *rf;
+extern GConfClient *rss_gconf;
 EProxy *proxy;
 
 typedef struct {
@@ -381,6 +382,7 @@ conn_mainloop_quit (void *data)
 {
 	g_print("loop quit");
   g_main_loop_quit (data);
+	return TRUE;
 }
 
 guint
diff --git a/src/parser.c b/src/parser.c
index d4f929a..d14a3eb 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -39,39 +39,32 @@ html_set_base(xmlNode *doc, char *base, char *tag, char *prop, char *basehref)
 #else
         SoupURI *base_uri = soup_uri_new (base);
 #endif
-        while (doc = html_find((xmlNode *)doc, tag))
-        {
-                if (url = xmlGetProp(doc, prop))
-                {
-                        if (!strncmp(tag, "img", 3) && !strncmp(prop, "src", 3))
-                        {
+        while ((doc = html_find((xmlNode *)doc, tag))) {
+                if ((url = xmlGetProp(doc, prop))) {
+                        if (!strncmp(tag, "img", 3) && !strncmp(prop, "src", 3)) {
                                 gchar *tmpurl = strplchr(url);
                                 xmlSetProp(doc, prop, tmpurl);
                                 g_free(tmpurl);
                         }
                         d(g_print("DEBUG: parsing: %s\n", url));
-                        if (url[0] == '/' && url[1] != '/')
-                        {
+                        if (url[0] == '/' && url[1] != '/') {
                                 gchar *server = get_server_from_uri(base);
                                 gchar *tmp = g_strdup_printf("%s/%s", server, url);
                                 xmlSetProp(doc, prop, tmp);
                                 g_free(tmp);
                                 g_free(server);
                         }
-                        if (url[0] == '/' && url[1] == '/')
-                        {
+                        if (url[0] == '/' && url[1] == '/') {
                                 /*FIXME handle ssl */
                                 gchar *tmp = g_strdup_printf("%s%s", "http:", url);
                                 xmlSetProp(doc, prop, tmp);
                                 g_free(tmp);
                         }
                         if (url[0] != '/' && !g_str_has_prefix(url,  "http://";)
-                                        && !g_str_has_prefix(url, "https://";))
-                        {
+                                        && !g_str_has_prefix(url, "https://";)) {
                                 // in case we have a base href= set then rewrite
                                 // all relative links
-                                if (basehref != NULL)
-                                {
+                                if (basehref != NULL) {
 #if LIBSOUP_VERSION < 2003000
                                         SoupUri *newbase_uri = soup_uri_new (basehref);
 #else
@@ -79,12 +72,10 @@ html_set_base(xmlNode *doc, char *base, char *tag, char *prop, char *basehref)
 #endif
                                         newuri = soup_uri_new_with_base (newbase_uri, url);
                                         soup_uri_free(newbase_uri);
-                                }
-                                else
+                                } else
                                         newuri = soup_uri_new_with_base (base_uri, url);
                                 //xmlSetProp(doc, prop, g_strdup_printf("%s/%s", get_server_from_uri(base), url));
-                                if (newuri)
-                                {
+                                if (newuri) {
                                         newuristr = soup_uri_to_string (newuri, FALSE);
                                         xmlSetProp(doc, prop, (xmlChar *)newuristr);
                                         g_free(newuristr);
@@ -609,6 +600,7 @@ layer_find_tag_prop (xmlNodePtr node,
 		}
                 node = node->next;
 	}
+	return fail;
 }
 
 static gchar *
diff --git a/src/rss-config-factory.c b/src/rss-config-factory.c
index 43155bf..98d5b86 100644
--- a/src/rss-config-factory.c
+++ b/src/rss-config-factory.c
@@ -26,16 +26,12 @@
 #include <stdio.h>
 #include <glib.h>
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 #include <gconf/gconf-client.h>
 #include <gdk/gdkkeysyms.h>
 
-#include <camel/camel-folder.h>
 #include <camel/camel-store.h>
-#include <camel/camel-operation.h>
 #include <camel/camel-provider.h>
 
-#include <mail/em-event.h>
 #include <mail/em-config.h>
 
 #include <shell/evolution-config-control.h>
@@ -56,6 +52,7 @@ extern guint upgrade;
 extern guint count; 
 extern gchar *buffer;
 extern GSList *rss_list;
+extern GConfClient *rss_gconf;
 
 #define RSS_CONTROL_ID  "OAFIID:GNOME_Evolution_RSS:" EVOLUTION_VERSION_STRING
 #define FACTORY_ID      "OAFIID:GNOME_Evolution_RSS_Factory:" EVOLUTION_VERSION_STRING
@@ -1035,7 +1032,7 @@ out:			gtk_widget_destroy(msg_feeds);
         }
 }
 
-static void
+void
 import_dialog_response(GtkWidget *selector, guint response, gpointer user_data)
 {
         while (gtk_events_pending ())
diff --git a/src/rss-config-factory.h b/src/rss-config-factory.h
index 6d91b81..f8208f0 100644
--- a/src/rss-config-factory.h
+++ b/src/rss-config-factory.h
@@ -20,7 +20,7 @@
 #define __RSS_CONFIG_FACTORY_H_
 
 void store_redraw(GtkTreeView *data);
-static void import_dialog_response(GtkWidget *selector, guint response, gpointer user_data);
+void import_dialog_response(GtkWidget *selector, guint response, gpointer user_data);
 
 #endif /*__RSS_CONFIG_FACTORY_H_*/
 
diff --git a/src/rss.c b/src/rss.c
index 24fd2e4..09d5d91 100644
--- a/src/rss.c
+++ b/src/rss.c
@@ -24,8 +24,10 @@
 int rss_verbose_debug = 0;
 #define d(x) (rss_verbose_debug?(x):0)
 
+#define _GNU_SOURCE
 #include <string.h>
 #include <stdio.h>
+#include <ctype.h>
 #include <time.h>
 
 #include <camel/camel-mime-message.h>
@@ -34,11 +36,13 @@ int rss_verbose_debug = 0;
 #include <camel/camel-multipart.h>
 #include <camel/camel-stream-mem.h>
 #include <camel/camel-stream-fs.h>
+#include <camel/camel-text-index.h>
 
 #include <mail/em-popup.h>
 #include <e-util/e-error.h>
 #include <e-util/e-icon-factory.h>
 #include <e-util/e-mktemp.h>
+#include <e-util/e-util.h>
 
 #include <mail/em-config.h>
 
@@ -54,6 +58,7 @@ int rss_verbose_debug = 0;
 #include <mail/mail-mt.h>
 #include <mail/mail-component.h>
 #include <mail/mail-tools.h>
+#include <mail/mail-ops.h>
 
 #include <misc/e-activity-handler.h>
 
@@ -137,7 +142,7 @@ int rss_verbose_debug = 0;
 #include "fetch.c"
 #include "misc.h"
 #if HAVE_DBUS
-#include "dbus.c"
+#include "dbus.h"
 #endif
 #include "rss-config-factory.h"
 #include "rss-icon-factory.c"
@@ -187,6 +192,7 @@ guint           upgrade = 0;                // set to 2 when initailization succ
 guint count = 0;
 gchar *buffer = NULL;
 GSList *rss_list = NULL;
+GConfClient *rss_gconf;
 
 gboolean inhibit_read = FALSE;	//prevent mail selection when deleting folder
 gboolean delete_op = FALSE;	//delete in progress
@@ -445,7 +451,7 @@ statuscb(NetStatusType status, gpointer statusdata, gpointer data)
 			gtk_progress_bar_set_fraction((GtkProgressBar *)rf->progress_bar, fraction);
 		if (rf->sr_feed)
 		{
-			gchar *furl = g_strdup_printf("<b>%s</b>: %s", _("Feed"), data);
+			gchar *furl = g_strdup_printf("<b>%s</b>: %s", _("Feed"), (char *)data);
 			gtk_label_set_markup (GTK_LABEL (rf->sr_feed), furl);
 			g_free(furl);
 		}
@@ -514,7 +520,7 @@ browsercb(NetStatusType status, gpointer statusdata, gpointer data)
     }
 }
 
-static void
+void
 textcb(NetStatusType status, gpointer statusdata, gpointer data)
 {
     NetStatusProgress *progress;
@@ -562,7 +568,7 @@ create_user_pass_dialog(RSS_AUTH *auth)
 //        gtk_window_set_transient_for (GTK_WINDOW (widget), msg->parent);
         gtk_window_set_position (GTK_WINDOW (widget), GTK_WIN_POS_CENTER_ON_PARENT);
         gtk_container_set_border_width (GTK_CONTAINER (widget), 12);
-        GtkWidget *password_dialog = GTK_DIALOG (widget);
+        GtkWidget *password_dialog = GTK_WIDGET (widget);
 
         action_area = gtk_dialog_get_action_area (GTK_DIALOG(password_dialog));
         content_area = gtk_dialog_get_content_area (GTK_DIALOG(password_dialog));
@@ -685,7 +691,7 @@ create_user_pass_dialog(RSS_AUTH *auth)
                         GTK_TABLE (container), checkbutton1,
                         1, 2, 3, 4, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
 
-	return password_dialog;
+	return GTK_DIALOG(password_dialog);
 }
 
 gboolean
@@ -742,6 +748,7 @@ proxy_auth_dialog(gchar *title, gchar *user, gchar *pass)
 	auth_info->pass = pass;
 	dialog = create_user_pass_dialog(auth_info);
 	gint result = gtk_dialog_run(GTK_DIALOG(dialog));
+	return TRUE;
 }
 
 gboolean
@@ -802,8 +809,8 @@ receive_cancel(GtkButton *button, struct _send_info *info)
 gchar *
 feed_to_xml(gchar *key)
 {
-	xmlNodePtr root, node, id, src, xport;
-        char *tmp, buf[20];
+	xmlNodePtr root, src;
+        char *tmp;
         xmlChar *xmlbuf;
         xmlDocPtr doc;
         int n;
@@ -989,7 +996,7 @@ dialog_key_destroy (GtkWidget *widget, gpointer data)
 		g_hash_table_remove(rf->error_hash, data);
 }
 
-static void
+void
 err_destroy (GtkWidget *widget, guint response, gpointer data)
 {
 	gtk_widget_destroy(widget);
@@ -1162,6 +1169,7 @@ feed_new_from_xml(char *xml)
 	g_hash_table_insert(rf->hrttl_multiply, 
 				g_strdup(uid), 
 				GINT_TO_POINTER(ttl_multiply));
+	return TRUE;
 }
 
 char *
@@ -1213,34 +1221,26 @@ migrate_old_config(gchar *feed_file)
 	char **str;
 	memset(rfeed, 0, 512);
 
-	if (ffile = fopen(feed_file, "r"))
-        {
-		while (fgets(rfeed, 511, ffile) != NULL)
-		{
+	if ((ffile = fopen(feed_file, "r"))) {
+		while (fgets(rfeed, 511, ffile) != NULL) {
                         str = g_strsplit(rfeed, "--", 0);
                         gpointer key = gen_md5(str[1]);
                         g_hash_table_insert(rf->hrname, g_strdup(str[0]), g_strdup(key));
                         g_hash_table_insert(rf->hrname_r, g_strdup(key), g_strdup(str[0]));
                         g_hash_table_insert(rf->hr, g_strdup(key), g_strstrip(str[1]));
-                        if (NULL != str[4])
-                        {
+                        if (NULL != str[4]) {
                                 g_hash_table_insert(rf->hrh, g_strdup(key), 
                                         GINT_TO_POINTER(atoi(g_strstrip(str[4]))));
                                 g_hash_table_insert(rf->hrt, g_strdup(key), g_strdup(str[3]));
                                 g_hash_table_insert(rf->hre, g_strdup(key), 
                                         GINT_TO_POINTER(atoi(str[2])));
-                        }
-                        else
-                        {
-                                if (NULL != str[2])     // 0.0.1 -> 0.0.2
-                                {
+                        } else {
+                                if (NULL != str[2]) {    // 0.0.1 -> 0.0.2
                                         g_hash_table_insert(rf->hrh, g_strdup(key), (gpointer)0);
                                         g_hash_table_insert(rf->hrt, g_strdup(key), g_strstrip(str[3]));
                                         g_hash_table_insert(rf->hre, g_strdup(key), 
                                                 GINT_TO_POINTER(atoi(str[2])));
-                                }
-                                else
-                                {
+                                } else {
                                         g_hash_table_insert(rf->hrh, g_strdup(key),  (gpointer)0);
                                         g_hash_table_insert(rf->hrt, g_strdup(key), g_strdup("RSS"));
                                         g_hash_table_insert(rf->hre, g_strdup(key), 
@@ -1330,7 +1330,7 @@ forward_cb (GtkWidget *button, EMFormatHTMLPObject *pobject)
 #endif
 }
 
-static void
+void
 stop_cb (GtkWidget *button, EMFormatHTMLPObject *pobject)
 {
 	guint engine = fallback_engine();
@@ -1344,6 +1344,7 @@ stop_cb (GtkWidget *button, EMFormatHTMLPObject *pobject)
 #endif
 }
 
+void
 reload_cb (GtkWidget *button, gpointer data)
 {
 	guint engine = gconf_client_get_int(rss_gconf, GCONF_KEY_HTML_RENDER, NULL);
@@ -1536,6 +1537,7 @@ webkit_click (GtkEntry *entry,
 	separator = gtk_separator_menu_item_new ();
         gtk_widget_show (separator);
         gtk_menu_shell_insert (GTK_MENU_SHELL (menu), separator, 2);
+	return TRUE;
 }
 
 gboolean
@@ -1568,7 +1570,7 @@ gecko_click(GtkMozEmbed *mozembed, gpointer dom_event, gpointer user_data)
 	else
 		menu_size-=2;
 
-	for (i; i<menu_size; i++)
+	for (; i<menu_size; i++)
 		menus = g_slist_prepend(menus, &rss_menu_items[i]);
 
         e_popup_add_items((EPopup *)emp, menus, NULL, rss_menu_items_free, link);
@@ -1580,6 +1582,7 @@ gecko_click(GtkMozEmbed *mozembed, gpointer dom_event, gpointer user_data)
 	if (button == 0)
 		gtk_moz_embed_load_url(GTK_MOZ_EMBED(rf->mozembed), link);
 	g_print("button:%d\n", button);
+	return TRUE;
 }
 
 #ifdef HAVE_RENDERKIT
@@ -2167,28 +2170,22 @@ generate_safe_chn_name(gchar *chn_name)
 	guint i = 0;
 	gchar *c;
 	gchar *stmp;
-	while (check_chn_name(chn_name))
-	{
+	while (check_chn_name(chn_name)) {
 		GString *result = g_string_new (NULL);
 		gchar *tmp = chn_name;
-		if (c = strrchr(tmp, '#'))
-		{
-			if (isdigit(*(c+1)))
-			{
+		if ((c = strrchr(tmp, '#'))) {
+			if (isdigit(*(c+1))) {
 				stmp = g_strndup(tmp, c - tmp);
-				while (isdigit(*(c+1)))
-				{
+				while (isdigit(*(c+1))) {
 					g_string_append_c(result, *(c+1));
 					c++;
 				}
 				i = atoi(result->str);
 				chn_name = g_strdup_printf("%s#%d", stmp, i+1);
 				g_free(stmp);
-			}
-			else
+			} else
 				chn_name = g_strdup_printf("%s #%d", tmp, i+1);
-		}
-		else
+		} else
 			chn_name = g_strdup_printf("%s #%d", tmp, i+1);
 		memset(result->str, 0, result->len);
 		g_string_free (result, TRUE);
@@ -2238,7 +2235,6 @@ setup_feed(add_feed *feed)
         GString *post;
         GError *err = NULL;
         GString *content = NULL;
-        GtkWidget *ed;
 	gchar *chn_name = NULL;
 
 	check_folders();
@@ -2741,11 +2737,6 @@ void
 fetch_feed(gpointer key, gpointer value, gpointer user_data)
 { 
 	GError *err = NULL;
-	GString *content;
-	GString *post;
-	GtkWidget *ed;
-	RDF *r;
-
 
 	//exclude feeds that have special update interval or 
 	//no update at all
@@ -2758,7 +2749,7 @@ fetch_feed(gpointer key, gpointer value, gpointer user_data)
 	if (g_hash_table_lookup(rf->hre, lookup_key(key)) && !rf->cancel && !rf->import)
 	{
 		d(g_print("\nFetching: %s..%s\n", 
-			g_hash_table_lookup(rf->hr, lookup_key(key)), key));
+			(char *)g_hash_table_lookup(rf->hr, lookup_key(key)), key));
 		rf->feed_queue++;
 
 		fetch_unblocking(
@@ -2873,6 +2864,7 @@ print_comments(gchar *url, gchar *stream)
 
                 return display_comments (r);
 	}
+	return NULL;
 }
 
 
@@ -2963,7 +2955,7 @@ get_main_folder(void)
 	return g_strdup(DEFAULT_FEEDS_FOLDER);
 }
 
-GHashTable *
+void
 get_feed_folders(void)
 {
 	gchar tmp1[512];
@@ -3061,7 +3053,7 @@ finish_update_feed_image (SoupSession *soup_sess, SoupMessage *msg, gpointer use
 			if (!g_ascii_strcasecmp(app, "shorcut icon")
 			|| !g_ascii_strcasecmp(app, "icon")) {
 				icon = xmlGetProp(doc, "href");
-				exit;
+				break;
 			}
 	
 		}
@@ -3069,10 +3061,10 @@ finish_update_feed_image (SoupSession *soup_sess, SoupMessage *msg, gpointer use
 	}
 	g_free(rfmsg);
 	if (icon) {
-		if (strstr(icon, "://") == NULL)
+		if (strstr((char *)icon, "://") == NULL)
 			icon_url = g_strconcat(server, "/", icon, NULL);
 		else
-			icon_url = icon;
+			icon_url = (char *)icon;
 
 		fetch_unblocking(
 			icon_url,
@@ -3169,8 +3161,7 @@ update_main_folder(gchar *new_name)
             g_mkdir_with_parents (feed_dir, 0755);
         gchar *feed_file = g_strdup_printf("%s/main_folder", feed_dir);
         g_free(feed_dir);
-	if (f = fopen(feed_file, "w"))
-        {
+	if ((f = fopen(feed_file, "w"))) {
 		fprintf(f, "%s", rf->main_folder);	
                 fclose(f);
         }
@@ -3184,8 +3175,8 @@ write_feeds_folder_line(gpointer key, gpointer value, FILE *file)
 	feed_folders *ff = g_new0(feed_folders, 1);
 	ff->rname = key;
 	ff->oname = value;
-	fprintf(file, "%s\n", key);
-	fprintf(file, "%s\n", value);
+	fprintf(file, "%s\n", (char *)key);
+	fprintf(file, "%s\n", (char *)value);
 }
 
 void
@@ -3312,10 +3303,6 @@ gboolean
 custom_update_articles(CDATA *cdata)
 {
 	GError *err = NULL;
-        GString *content;
-        GString *post;
-        GtkWidget *ed;
-        RDF *r;
 	//if (!rf->pending && !rf->feed_queue && rf->online)
 	if (rf->online)
 	{
@@ -3329,7 +3316,7 @@ custom_update_articles(CDATA *cdata)
         	if (g_hash_table_lookup(rf->hre, lookup_key(cdata->key)) && !rf->cancel && !rf->import)
         	{
                 	d(g_print("\nFetching: %s..%s\n",
-                 		g_hash_table_lookup(rf->hr, lookup_key(cdata->key)), cdata->key));
+                 		(char *)g_hash_table_lookup(rf->hr, lookup_key(cdata->key)), (char *)cdata->key));
                 	rf->feed_queue++;
 
                 	net_get_unblocking(
@@ -3344,7 +3331,7 @@ custom_update_articles(CDATA *cdata)
 			{
 				rf->feed_queue--;
                      		gchar *msg = g_strdup_printf("\n%s\n%s", 
-				 	cdata->key, err->message);
+				 	(char *)cdata->key, err->message);
                         	rss_error(cdata->key, NULL, _("Error fetching feed."), msg);
                      		g_free(msg);
 			}
@@ -3366,7 +3353,7 @@ custom_fetch_feed(gpointer key, gpointer value, gpointer user_data)
 	if (GPOINTER_TO_INT(g_hash_table_lookup(rf->hrupdate, lookup_key(key))) == 2
 	 && g_hash_table_lookup(rf->hre, lookup_key(key)))
 	{
-		d(g_print("custom key:%s\n", key));
+		d(g_print("custom key:%s\n", (char *)key));
 		guint ttl = GPOINTER_TO_INT(g_hash_table_lookup(rf->hrttl, lookup_key(key)));
 		guint ttl_multiply = GPOINTER_TO_INT(g_hash_table_lookup(rf->hrttl_multiply, lookup_key(key)));
 		if (ttl) {
@@ -3472,14 +3459,15 @@ flicker_stop(gpointer user_data)
 void
 flaten_status(gpointer msg, gpointer user_data)
 {
-	if (strlen(msg))
+	if (strlen(msg)) {
 		if (flat_status_msg)
 			flat_status_msg = g_strconcat(flat_status_msg, msg, NULL);
 		else
 			flat_status_msg = g_strconcat(msg, NULL);
+	}
 }
 
-static void
+void
 update_status_icon(const char *channel, gchar *title)
 {
   	if (gconf_client_get_bool (rss_gconf, GCONF_KEY_STATUS_ICON, NULL)) {
@@ -3514,7 +3502,7 @@ store_folder_update(CamelObject *o, void *event_data, void *data)
 }
 
 static void
-rss_online(CamelObject *o, void *event_data, void *data)
+rss_online(CamelSession *o, void *event_data, void *data)
 {
 	rf->online =  camel_session_is_online (o);
 }
@@ -3617,7 +3605,7 @@ void org_gnome_cooly_rss_startup(void *ep, EMPopupTargetSelect *t)
                                 (CamelObjectEventHookFunc)store_folder_renamed, NULL);
 	camel_object_hook_event(store, "folder_deleted",
                                 (CamelObjectEventHookFunc)store_folder_deleted, NULL);
-	camel_object_hook_event((void *)mail_component_peek_session(NULL),
+	camel_object_hook_event((CamelObject *)mail_component_peek_session(NULL),
 				 "online", rss_online, NULL);
 }
 
@@ -3896,7 +3884,7 @@ org_gnome_cooly_rss(void *ep, EMPopupTargetSelect *t)
 		flabel		= label2;
 	}
 #endif
-bail:	if (!rf->pending && !rf->feed_queue)
+	if (!rf->pending && !rf->feed_queue)
 	{
 		rf->pending = TRUE;
 		check_folders();
@@ -4087,7 +4075,7 @@ create_mail(create_feed *CF)
 
 	gchar *tmp = decode_entities(CF->subj);
 	gchar *tmp2 = markup_decode(tmp);
-	gchar *safe_subj = camel_header_encode_string(tmp2);
+	gchar *safe_subj = camel_header_encode_string((unsigned char *)tmp2);
 	camel_mime_message_set_subject(new, safe_subj);
 	g_free(tmp);
 	g_free(tmp2);
@@ -4139,9 +4127,9 @@ create_mail(create_feed *CF)
 		GList *p;
 		for (p = (GList *)CF->category; p != NULL; p=p->next) {
 			if (p->next)
-				g_string_append_printf(cats, "%s, ", p->data); 
+				g_string_append_printf(cats, "%s, ", (char *)p->data); 
 			else
-				g_string_append_printf(cats, "%s", p->data); 
+				g_string_append_printf(cats, "%s", (char *)p->data); 
 		}
 		camel_medium_set_header(CAMEL_MEDIUM(new), "X-evolution-rss-category", cats->str);
 		g_string_free(cats, FALSE);
@@ -4315,12 +4303,9 @@ feed_is_new(gchar *file_name, gchar *needle)
 	} else
 		tmpneedle = g_strdup(needle);
 
-	if (fr)
-	{
-	    while (fgets(rfeed, 511, fr) != NULL)
-	    {
-		if (rfeed && strstr(rfeed, tmpneedle))
-		{
+	if (fr) {
+	    while (fgets(rfeed, 511, fr) != NULL) {
+		if (rfeed && strstr(rfeed, tmpneedle)) {
 			occ=1;
 			break;
 		}
@@ -4331,7 +4316,7 @@ feed_is_new(gchar *file_name, gchar *needle)
 	return occ;
 }
 
-static void
+void
 #if LIBSOUP_VERSION < 2003000
 finish_enclosure (SoupMessage *msg, create_feed *user_data)
 #else
@@ -4407,7 +4392,7 @@ finish_create_image (SoupMessage *msg, gchar *user_data)
 finish_create_image (SoupSession *soup_sess, SoupMessage *msg, gchar *user_data)
 #endif
 {
-	g_print("finish_image(): status:%d, user_data;%s\n", msg->status_code);
+	g_print("finish_image(): status:%d, user_data:%s\n", msg->status_code, user_data);
 	if (404 != msg->status_code) {
 		CamelStream *feed_fs = camel_stream_fs_new_with_name(user_data,
 			O_RDWR|O_CREAT, 0666);
@@ -4444,8 +4429,6 @@ gchar *
 fetch_image(gchar *url, gchar *link)
 {
         GError *err = NULL;
-	gchar *tmpdir = NULL;
-	gchar *name = NULL;
 	CamelStream *stream = NULL;
 	gchar *tmpurl = NULL;
 	if (!url)
@@ -4506,17 +4489,13 @@ migrate_crc_md5(const char *name, gchar *url)
 	g_free(crc);
 	g_free(md5);
 
-	if (g_file_test(feed_name, G_FILE_TEST_EXISTS))
-	{
+	if (g_file_test(feed_name, G_FILE_TEST_EXISTS)) {
 		FILE *fr = fopen(feed_name, "r");
 		FILE *fw = fopen(md5_name, "a+");
 		gchar rfeed[513];
 		memset(rfeed, 0, 512);
-		int occ = 0;
-		if (fr && fw)
-		{
-		    while (fgets(rfeed, 511, fr) != NULL)
-		    {
+		if (fr && fw) {
+		    while (fgets(rfeed, 511, fr) != NULL) {
 		    	(void)fseek(fw, 0L, SEEK_SET);
 			fwrite(rfeed, strlen(rfeed), 1, fw);
 		    }
@@ -4529,17 +4508,13 @@ migrate_crc_md5(const char *name, gchar *url)
 	g_free(feed_name);
 	feed_name = g_build_path("/", feed_dir, crc2, NULL);
 	g_free(crc2);
-	if (g_file_test(feed_name, G_FILE_TEST_EXISTS))
-	{
+	if (g_file_test(feed_name, G_FILE_TEST_EXISTS)) {
 		FILE *fr = fopen(feed_name, "r");
 		FILE *fw = fopen(md5_name, "a+");
 		gchar rfeed[513];
 		memset(rfeed, 0, 512);
-		int occ = 0;
-		if (fr && fw)
-		{
-		    while (fgets(rfeed, 511, fr) != NULL)
-		    {
+		if (fr && fw) {
+		    while (fgets(rfeed, 511, fr) != NULL) {
 		    	(void)fseek(fw, 0L, SEEK_SET);
 			fwrite(rfeed, strlen(rfeed), 1, fw);
 		    }
@@ -4560,7 +4535,7 @@ decode_utf8_entities(gchar *str)
 {
 	guint inlen, utf8len;
 	gchar *buffer;
-	g_return_if_fail (str != NULL);
+	g_return_val_if_fail (str != NULL, NULL);
 
 	inlen = strlen(str);
 	utf8len = 5*inlen+1;
@@ -4574,10 +4549,10 @@ decode_entities(gchar *source)
 {
  	GString *str = g_string_new(NULL);
  	GString *res = g_string_new(NULL);
- 	gchar *string, *result;
+ 	gchar *result;
         const unsigned char *s;
         guint len;
-	int in, out;
+	int in=0, out=0;
 	int state, pos;
 
 	g_string_append(res, source);
@@ -4625,7 +4600,7 @@ gchar *
 decode_html_entities(gchar *str)
 {
 	gchar *newstr;
-	g_return_if_fail (str != NULL);
+	g_return_val_if_fail (str != NULL, NULL);
 
 	xmlParserCtxtPtr ctxt = xmlNewParserCtxt();
 	xmlCtxtUseOptions(ctxt,   XML_PARSE_RECOVER
@@ -4633,7 +4608,7 @@ decode_html_entities(gchar *str)
 				| XML_PARSE_NOERROR
 				| XML_PARSE_NONET);
 
-	xmlChar *tmp =  (gchar *)xmlStringDecodeEntities(ctxt,
+	xmlChar *tmp =  xmlStringDecodeEntities(ctxt,
 					     BAD_CAST str,
 					     XML_SUBSTITUTE_REF
 					     & XML_SUBSTITUTE_PEREF,
@@ -4641,7 +4616,7 @@ decode_html_entities(gchar *str)
 					     0,
 					     0);
 
-	newstr = g_strdup(tmp);
+	newstr = g_strdup((gchar *)tmp);
 	xmlFree(tmp);
 	xmlFreeParserCtxt(ctxt);
 	return newstr;
@@ -4650,8 +4625,7 @@ decode_html_entities(gchar *str)
 gchar *
 encode_html_entities(gchar *str)
 {
-        gchar *newstr;
-        g_return_if_fail (str != NULL);
+        g_return_val_if_fail (str != NULL, NULL);
 
 /*        xmlParserCtxtPtr ctxt = xmlNewParserCtxt();
         xmlCtxtUseOptions(ctxt,   XML_PARSE_RECOVER
@@ -4659,7 +4633,7 @@ encode_html_entities(gchar *str)
                                 | XML_PARSE_NOERROR
                                 | XML_PARSE_NONET);*/
 
-        xmlChar *tmp =  (gchar *)xmlEncodeEntitiesReentrant(NULL, str);
+        xmlChar *tmp =  xmlEncodeEntitiesReentrant(NULL, (xmlChar *)str);
 
 /*        xmlChar *tmp =  (gchar *)xmlStringDecodeEntities(ctxt,
                                              BAD_CAST str,
@@ -4673,16 +4647,16 @@ encode_html_entities(gchar *str)
         xmlFree(tmp);
         xmlFreeParserCtxt(ctxt);
         return newstr;*/
-	return tmp;
+	return (gchar *)tmp;
 }
 
 gchar *
 encode_rfc2047(gchar *str)
 {
 	gchar *tmp = decode_entities(str);
-        gchar *rfctmp = camel_header_encode_string(tmp);
+        gchar *rfctmp = camel_header_encode_string((unsigned char*)tmp);
         g_free(tmp);
-	return rfctmp;
+	return (gchar *)rfctmp;
 }
 
 static gchar *
@@ -4754,7 +4728,6 @@ delete_oldest_article(CamelFolder *folder, guint unread)
 	GPtrArray *uids;
 	guint i, j = 0, imax = 0;
 	guint q = 0;
-	guint w = 0;
 	guint32 flags;
 	time_t date, min_date = 0;
 	uids = camel_folder_get_uids (folder);
@@ -4804,7 +4777,7 @@ delete_oldest_article(CamelFolder *folder, guint unread)
 				}
 			}
                	}
-		d(g_print("uid:%d j:%d/%d, date:%d, imax:%d\n", i, j, q, min_date, imax));
+		d(g_print("uid:%d j:%d/%d, date:%s, imax:%d\n", i, j, q, ctime((const time_t *)min_date), imax));
 out:          	camel_message_info_free(info);
 	}
        	camel_folder_freeze(folder);
@@ -4826,8 +4799,6 @@ get_feed_age(gpointer key, gpointer value)
 	CamelStore *store = mail_component_peek_local_store(NULL);
 	GPtrArray *uids;
 	time_t date, now;
-	char strbuf[200];
-	char strbuf2[200];
 	guint i,total;
 	guint32 flags;
 
diff --git a/src/rss.h b/src/rss.h
index 03dddb0..93e793e 100644
--- a/src/rss.h
+++ b/src/rss.h
@@ -28,6 +28,11 @@
 #include <libsoup/soup.h>
 #include <mail/mail-component.h>
 
+#include <glade/glade.h>
+#include <mail/em-event.h>
+#include <camel/camel-folder.h>
+#include <camel/camel-operation.h>
+
 #define PLUGIN_INSTALL_DIR @PLUGIN_INSTALL_DIR@
 #define DEFAULT_FEEDS_FOLDER "News&Blogs"
 #define DEFAULT_NO_CHANNEL "Untitled channel"
@@ -42,8 +47,6 @@
 #define NETWORK_TIMEOUT (180000)
 #define HTTP_CACHE_PATH "http"
 
-GConfClient *rss_gconf;
-
 typedef struct _RDF {
         char 		*uri;
         char 		*html;
@@ -295,7 +298,7 @@ guint ftotal;
 guint farticle;
 
 GtkDialog* create_user_pass_dialog(RSS_AUTH *auth);
-static void err_destroy (GtkWidget *widget, guint response, gpointer data);
+void err_destroy (GtkWidget *widget, guint response, gpointer data);
 void save_gconf_feed(void);
 void rss_error(gpointer key, gchar *name, gchar *error, gchar *emsg);
 void rss_select_folder(gchar *folder_name);
@@ -315,20 +318,20 @@ void free_cf(create_feed *CF);
 gchar *generate_safe_chn_name(gchar *chn_name);
 void update_sr_message(void);
 void update_feed_image(gchar *image, gchar *key);
-static void update_status_icon(const char *channel, gchar *title);
-static void
+void update_status_icon(const char *channel, gchar *title);
+void
 #if LIBSOUP_VERSION < 2003000
 finish_website (SoupMessage *msg, gpointer user_data);
 #else
 finish_website (SoupSession *soup_sess, SoupMessage *msg, gpointer user_data);
 #endif
-static void
+void
 #if LIBSOUP_VERSION < 2003000
 finish_enclosure (SoupMessage *msg, create_feed *user_data);
 #else
 finish_enclosure (SoupSession *soup_sess, SoupMessage *msg, create_feed *user_data);
 #endif
-static void textcb(NetStatusType status, gpointer statusdata, gpointer data);
+void textcb(NetStatusType status, gpointer statusdata, gpointer data);
 #ifdef HAVE_GECKO
 void rss_mozilla_init(void);
 #endif



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