[evolution-rss] various cleanups and warnings fix
- From: Lucian Langa <lucilanga src gnome org>
- To: svn-commits-list gnome org
- Subject: [evolution-rss] various cleanups and warnings fix
- Date: Tue, 5 May 2009 17:04:04 -0400 (EDT)
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]