[evolution-rss] function,variables cleanups



commit 762176df94f100a15db5e8bf40cb6fe292ff2215
Author: Lucian Langa <lucilanga gnome org>
Date:   Fri May 15 17:21:14 2009 +0300

    function,variables cleanups
---
 src/Makefile.am        |    7 +-
 src/Makefile.in        |   17 ++-
 src/fetch.c            |    9 ++-
 src/file-gio.c         |   28 ++++++-
 src/file-gio.h         |   10 ++
 src/misc.c             |    9 ++
 src/misc.h             |    1 +
 src/parser.c           |  120 ++++++++++++++++++++++++
 src/rss-icon-factory.h |   18 ++++
 src/rss.c              |  244 ++----------------------------------------------
 src/rss.h              |   14 ++-
 11 files changed, 225 insertions(+), 252 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index c208d6c..edf46b0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -70,12 +70,15 @@ plugin_LTLIBRARIES = liborg-gnome-evolution-rss.la
 
 
 SOURCES = 	dbus.c			\
+		fetch.c			\
+		file-gio.c		\
 	  	misc.c			\
 		network-soup.c		\
 		rss.c			\
-		rss-config-factory.c
+		rss-config-factory.c	\
+		rss-icon-factory.c
 if HAVE_GECKO
-SOURCES+= gecko-utils.cpp
+SOURCES+= 	gecko-utils.cpp
 endif
 
 liborg_gnome_evolution_rss_la_SOURCES = $(SOURCES)
diff --git a/src/Makefile.in b/src/Makefile.in
index 83e6c0e..dd98beb 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -63,11 +63,13 @@ 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 = dbus.c misc.c \
-	network-soup.c rss.c rss-config-factory.c gecko-utils.cpp
+am__liborg_gnome_evolution_rss_la_SOURCES_DIST = dbus.c fetch.c \
+	file-gio.c misc.c network-soup.c rss.c rss-config-factory.c \
+	rss-icon-factory.c gecko-utils.cpp
 @HAVE_GECKO_TRUE am__objects_1 = gecko-utils.lo
-am__objects_2 = dbus.lo misc.lo network-soup.lo rss.lo \
-	rss-config-factory.lo $(am__objects_1)
+am__objects_2 = dbus.lo fetch.lo file-gio.lo misc.lo network-soup.lo \
+	rss.lo rss-config-factory.lo rss-icon-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)
@@ -348,8 +350,8 @@ plugin_DATA = org-gnome-evolution-rss.eplug \
 	org-gnome-evolution-rss.xml
 
 plugin_LTLIBRARIES = liborg-gnome-evolution-rss.la
-SOURCES = dbus.c misc.c network-soup.c rss.c rss-config-factory.c \
-	$(am__append_2)
+SOURCES = dbus.c fetch.c file-gio.c misc.c network-soup.c rss.c \
+	rss-config-factory.c rss-icon-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)
@@ -503,10 +505,13 @@ distclean-compile:
 
 @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)/fetch Plo am__quote@
+ AMDEP_TRUE@@am__include@ @am__quote  /$(DEPDIR)/file-gio Plo 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@
 @AMDEP_TRUE@@am__include@ @am__quote  /$(DEPDIR)/network-soup Plo am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote  /$(DEPDIR)/rss-config-factory Plo am__quote@
+ AMDEP_TRUE@@am__include@ @am__quote  /$(DEPDIR)/rss-icon-factory Plo am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote  /$(DEPDIR)/rss Plo am__quote@
 
 .c.o:
diff --git a/src/fetch.c b/src/fetch.c
index 0dc2db8..4e03204 100644
--- a/src/fetch.c
+++ b/src/fetch.c
@@ -1,5 +1,5 @@
 /*  Evolution RSS Reader Plugin
- *  Copyright (C) 2007-2008 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,10 +18,15 @@
  * vim: tabstop=4 shiftwidth=4 noexpandtab :
  */
 
+#include <stdio.h>
+#include <string.h>
+#include <error.h>
+#include <errno.h>
+#include "file-gio.h"
 #include "network.h"
-#include "rss.h"
 #include "file-gio.h"
 #include "network-soup.h"
+#include "fetch.h"
 
 GString*
 fetch_blocking(gchar *url, GSList *headers, GString *post,
diff --git a/src/file-gio.c b/src/file-gio.c
index abf18af..a3eadce 100644
--- a/src/file-gio.c
+++ b/src/file-gio.c
@@ -1,5 +1,5 @@
 /*  Evolution RSS Reader Plugin
- *  Copyright (C) 2007-2008 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
@@ -19,7 +19,10 @@
  */
 
 #include <gio/gio.h>
+#include <libsoup/soup.h>
 
+#include "rss.h"
+#include "network.h"
 #include "file-gio.h"
 
 gboolean
@@ -39,3 +42,26 @@ file_get_unblocking(const char *uri, NetStatusCallback cb,
 	return 1;
 }
 
+void
+gio_finish_feed (GObject *object, GAsyncResult *res, gpointer user_data)
+{
+        gsize file_size;
+        char *file_contents;
+        gboolean result;
+
+        rfMessage *rfmsg = g_new0(rfMessage, 1);
+
+        result = g_file_load_contents_finish (G_FILE (object),
+                                              res,
+                                              &file_contents, &file_size,
+                                              NULL, NULL);
+        rfmsg->status_code = SOUP_STATUS_OK;
+        rfmsg->body = file_contents;
+        rfmsg->length = file_size;
+        generic_finish_feed(rfmsg, user_data);
+        if (result) {
+                g_free (file_contents);
+        }
+        g_free(rfmsg);
+}
+
diff --git a/src/file-gio.h b/src/file-gio.h
index ded472a..77f743d 100644
--- a/src/file-gio.h
+++ b/src/file-gio.h
@@ -18,8 +18,18 @@
  * vim: tabstop=4 shiftwidth=4 noexpandtab :
  */
 
+#include <gio/gio.h>
+#include <network.h>
+
+#ifndef _FILE_GIO_H_
+#define _FILE_GIO_H_ 1
+
 gboolean
 file_get_unblocking(const char *uri, NetStatusCallback cb,
                   gpointer data, gpointer cb2, gpointer cbdata2,
                   guint track, GError **err);
 
+void gio_finish_feed (GObject *object, GAsyncResult *res, gpointer user_data);
+
+#endif
+
diff --git a/src/misc.c b/src/misc.c
index 80a7460..08f0679 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -454,5 +454,14 @@ is_rfc822(char *in)
 notrfc:	return 0;
 }
 
+gchar *
+encode_rfc2047(gchar *str)
+{
+        gchar *tmp = decode_entities(str);
+        gchar *rfctmp = camel_header_encode_string((unsigned char*)tmp);
+        g_free(tmp);
+        return (gchar *)rfctmp;
+}
+
 #endif
 
diff --git a/src/misc.h b/src/misc.h
index bcfb856..8952257 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -34,5 +34,6 @@ gchar *sanitize_url(gchar *text);
 gchar *sanitize_folder(gchar *text);
 void header_decode_lwsp(const char **in);
 char *decode_token (const char **in);
+gchar *encode_rfc2047(gchar *str);
 
 #endif
diff --git a/src/parser.c b/src/parser.c
index f276c51..2fd7eed 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -1071,3 +1071,123 @@ out:	g_free(sender);
 	return buf;
 }
 
+gchar *
+encode_html_entities(gchar *str)
+{
+        g_return_val_if_fail (str != NULL, NULL);
+
+/*        xmlParserCtxtPtr ctxt = xmlNewParserCtxt();
+        xmlCtxtUseOptions(ctxt,   XML_PARSE_RECOVER
+                                | XML_PARSE_NOENT
+                                | XML_PARSE_NOERROR
+                                | XML_PARSE_NONET);*/
+
+        xmlChar *tmp =  xmlEncodeEntitiesReentrant(NULL, (xmlChar *)str);
+
+/*        xmlChar *tmp =  (gchar *)xmlStringDecodeEntities(ctxt,
+                                             BAD_CAST str,
+                                             XML_SUBSTITUTE_REF
+                                             & XML_SUBSTITUTE_PEREF,
+                                             0,
+                                             0,
+                                             0);
+
+        newstr = g_strdup(tmp);
+        xmlFree(tmp);
+        xmlFreeParserCtxt(ctxt);
+        return newstr;*/
+        return (gchar *)tmp;
+}
+
+gchar *
+decode_html_entities(gchar *str)
+{
+        gchar *newstr;
+        g_return_val_if_fail (str != NULL, NULL);
+
+        xmlParserCtxtPtr ctxt = xmlNewParserCtxt();
+        xmlCtxtUseOptions(ctxt,   XML_PARSE_RECOVER
+                                | XML_PARSE_NOENT
+                                | XML_PARSE_NOERROR
+                                | XML_PARSE_NONET);
+
+        xmlChar *tmp =  xmlStringDecodeEntities(ctxt,
+                                             BAD_CAST str,
+                                             XML_SUBSTITUTE_REF
+                                             & XML_SUBSTITUTE_PEREF,
+                                             0,
+                                             0,
+                                             0);
+
+        newstr = g_strdup((gchar *)tmp);
+        xmlFree(tmp);
+        xmlFreeParserCtxt(ctxt);
+        return newstr;
+}
+
+gchar *
+decode_entities(gchar *source)
+{
+        GString *str = g_string_new(NULL);
+        GString *res = g_string_new(NULL);
+        gchar *result;
+        const unsigned char *s;
+        guint len;
+        int in=0, out=0;
+        int state, pos;
+
+        g_string_append(res, source);
+reent:  s = (const unsigned char *)res->str;
+        len = strlen(res->str);
+        state = 0;
+        pos = 1;
+        g_string_truncate(str, 0);
+        while (*s != 0 || len) {
+                if (state) {
+                        if (*s==';') {
+                                state = 2; //entity found
+                                out = pos;
+                                break;
+                        } else {
+                                g_string_append_c(str, *s);
+                        }
+                }
+                if (*s=='&') {
+                        in = pos-1;
+                        state = 1;
+                }
+                *s++;
+                pos++;
+                len--;
+        }
+        if (state == 2) {
+                htmlEntityDesc *my = (htmlEntityDesc *)htmlEntityLookup((xmlChar *)str->str);
+                if (my) {
+                        g_string_erase(res, in, out-in);
+                        g_string_insert_unichar(res, in, my->value);
+                        gchar *result = res->str;
+                        g_string_free(res, FALSE);
+                        res = g_string_new(NULL);
+                        g_string_append(res, result);
+                        goto reent;
+                }
+        }
+        result = res->str;
+        g_string_free(res, FALSE);
+        return result;
+}
+
+gchar *
+decode_utf8_entities(gchar *str)
+{
+        int inlen, utf8len;
+        gchar *buffer;
+        g_return_val_if_fail (str != NULL, NULL);
+
+        inlen = strlen(str);
+        utf8len = 5*inlen+1;
+        buffer = g_malloc0(utf8len);
+        UTF8ToHtml((unsigned char *)buffer, &utf8len, (unsigned char *)str, &inlen);
+        return buffer;
+}
+
diff --git a/src/rss-icon-factory.h b/src/rss-icon-factory.h
index dac50d7..2de3cc1 100644
--- a/src/rss-icon-factory.h
+++ b/src/rss-icon-factory.h
@@ -1,3 +1,20 @@
+/*  Evoution RSS Reader Plugin
+ *  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
+ *  the Free Software Foundation; either version 2 of the License, or 
+ *  (at your option) any later version.
+ *  
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *  
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
 
 #define RSS_TEXT_HTML "rss-text-html"
 #define RSS_TEXT_HTML_FILE "rss-text-html.png"
@@ -8,3 +25,4 @@
 #define RSS_MAIN "rss-main"
 #define RSS_MAIN_FILE "rss-24.png"
 
+void rss_build_stock_images(void);
diff --git a/src/rss.c b/src/rss.c
index 376d0a4..344c9c3 100644
--- a/src/rss.c
+++ b/src/rss.c
@@ -132,14 +132,14 @@ int rss_verbose_debug = 0;
 #include "rss.h"
 #include "parser.h"
 #include "network-soup.h"
-#include "file-gio.c"
-#include "fetch.c"
+#include "file-gio.h"
+#include "fetch.h"
 #include "misc.h"
 #if HAVE_DBUS
 #include "dbus.h"
 #endif
 #include "rss-config-factory.h"
-#include "rss-icon-factory.c"
+#include "rss-icon-factory.h"
 #include "parser.c"
 
 int pop = 0;
@@ -210,7 +210,6 @@ CamelMimePart *file_to_message(const char *name);
 void save_gconf_feed(void);
 void check_feed_age(void);
 void get_feed_age(gpointer key, gpointer value);
-gchar *encode_html_entities(gchar *str);
 static void
 #if LIBSOUP_VERSION < 2003000
 finish_image (SoupMessage *msg, CamelStream *user_data);
@@ -230,17 +229,6 @@ static void
 dialog_key_destroy (GtkWidget *widget, gpointer data);
 guint fallback_engine(void);
 
-gchar *
-decode_entities(gchar *source);
-
-struct _rfMessage {
-	guint 	 status_code;
-	gchar 	*body;
-	goffset	 length;
-};
-
-typedef struct _rfMessage rfMessage;
-
 void generic_finish_feed(rfMessage *msg, gpointer user_data);
 gchar *print_comments(gchar *url, gchar *stream);
 static void refresh_cb (GtkWidget *button, EMFormatHTMLPObject *pobject);
@@ -250,7 +238,7 @@ static void refresh_cb (GtkWidget *button, EMFormatHTMLPObject *pobject);
 gpointer
 lookup_key(gpointer key)
 {
-	return g_hash_table_lookup(rf->hrname, key);
+        return g_hash_table_lookup(rf->hrname, key);
 }
 
 /* hash table of ops->dialogue of active errors */
@@ -913,68 +901,6 @@ rss_select_folder(gchar *folder_name)
 	g_free(real_name);
 }
 
-/*void
-get_selected_mail(void)
-{
-	MailComponent *mail_component = mail_component_peek();
-	MailComponentPrivate *priv = mail_component->priv;
-//	EComponentView *cv = priv->component_view;
-	g_print("priv:%p", priv);
-	g_print("cv:%p", cv);
-	GPtrArray *uids;
-	void *el = g_object_get_data((GObject *)cv, "info-label");
-        EMFolderView *emfv = g_object_get_data((GObject *)el, "folderview");
-	uids = message_list_get_selected(emfv->list);
-	g_print("selec:%d", uids->len);
-	
-}*/
-
-/*static void
-enable_html_cb(GtkCellRendererToggle *cell,
-               gchar *path_str,
-               gpointer data)
-{
-  GtkTreeModel *model = (GtkTreeModel *)data;
-  GtkTreeIter  iter;
-  GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
-  gchar *name;
-  gboolean fixed;
-
-  gtk_tree_model_get_iter (model, &iter, path);
-  gtk_tree_model_get (model, &iter, 1, &fixed, -1);
-  gtk_tree_model_get (model, &iter, 2, &name, -1);
-  fixed ^= 1;
-  g_hash_table_replace(rf->hrh, 
-			g_strdup(lookup_key(name)), 
-			GINT_TO_POINTER(fixed));
-  gtk_list_store_set (GTK_LIST_STORE (model), 
-			&iter, 
-			1, 
-			fixed, 
-			-1);
-  gtk_tree_path_free (path);
-  save_gconf_feed();
-  g_free(name);
-}
-
-static void
-tree_cb (GtkWidget *widget, gpointer data)
-{
-	GtkTreeSelection *selection;
-        GtkTreeModel     *model;
-        GtkTreeIter       iter;
-        gchar *name;
-
-        selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(rf->treeview));
-        if (gtk_tree_selection_get_selected(selection, &model, &iter))
-        {
-                gtk_tree_model_get (model, &iter, 2, &name, -1);
-		gtk_button_set_label(data, 
-			g_hash_table_lookup(rf->hre, lookup_key(name)) ? _("Disable") : _("Enable"));
-		g_free(name);
-        }
-}*/
-
 static void
 dialog_key_destroy (GtkWidget *widget, gpointer data)
 {
@@ -2481,29 +2407,6 @@ finish_feed (SoupSession *soup_sess, SoupMessage *msg, gpointer user_data)
 	g_free(rfmsg);
 }
 
-void
-gio_finish_feed (GObject *object, GAsyncResult *res, gpointer user_data)
-{
-	gsize file_size;
-        char *file_contents;
-        gboolean result;
-
-	rfMessage *rfmsg = g_new0(rfMessage, 1);
-
-	result = g_file_load_contents_finish (G_FILE (object),
-                                              res,
-                                              &file_contents, &file_size,
-                                              NULL, NULL);
-	rfmsg->status_code = SOUP_STATUS_OK;
-	rfmsg->body = file_contents;
-	rfmsg->length = file_size;
-	generic_finish_feed(rfmsg, user_data);
-	if (result) {
-                g_free (file_contents);
-        }
-	g_free(rfmsg);
-}
-
 struct _MailComponentPrivate {
         GMutex *lock;
 
@@ -3120,7 +3023,7 @@ update_feed_image(gchar *image, gchar *key)
 	if (image) {		//we need to validate image here with load_pixbuf
 		CamelStream *feed_fs = camel_stream_fs_new_with_name(feed_file,
 			O_RDWR|O_CREAT, 0666);
-                net_get_unblocking(image,
+                fetch_unblocking(image,
                                 textcb,
                                 NULL,
                                 (gpointer)finish_image,
@@ -3313,7 +3216,7 @@ custom_update_articles(CDATA *cdata)
                  		(char *)g_hash_table_lookup(rf->hr, lookup_key(cdata->key)), (char *)cdata->key));
                 	rf->feed_queue++;
 
-                	net_get_unblocking(
+                	fetch_unblocking(
                                        g_hash_table_lookup(rf->hr, lookup_key(cdata->key)),
                                        cdata->user_data,
                                        cdata->key,
@@ -4021,10 +3924,6 @@ free_filter_uids (gpointer user_data, GObject *ex_msg)
 	g_print("weak unref called on filter_uids\n");
 }
 
-#ifdef _WIN32
-#include "strptime.c"
-#endif
-
 void
 create_mail(create_feed *CF)
 {
@@ -4418,7 +4317,7 @@ fetch_image(gchar *url, gchar *link)
 	} else 
 		g_print("image cache HIT\n");
 
-	net_get_unblocking(tmpurl,
+	fetch_unblocking(tmpurl,
                        	        textcb,
                                	NULL,
                                	(gpointer)finish_image,
@@ -4493,135 +4392,6 @@ migrate_crc_md5(const char *name, gchar *url)
 	g_free(md5_name);
 }
 
-gchar *
-decode_utf8_entities(gchar *str)
-{
-	int inlen, utf8len;
-	gchar *buffer;
-	g_return_val_if_fail (str != NULL, NULL);
-
-	inlen = strlen(str);
-	utf8len = 5*inlen+1;
-	buffer = g_malloc0(utf8len);
-	UTF8ToHtml((unsigned char *)buffer, &utf8len, (unsigned char *)str, &inlen);
-	return buffer;
-}
-
-gchar *
-decode_entities(gchar *source)
-{
- 	GString *str = g_string_new(NULL);
- 	GString *res = g_string_new(NULL);
- 	gchar *result;
-        const unsigned char *s;
-        guint len;
-	int in=0, out=0;
-	int state, pos;
-
-	g_string_append(res, source);
-reent:	s = (const unsigned char *)res->str;
-        len = strlen(res->str);
-	state = 0;
-	pos = 1;
-	g_string_truncate(str, 0);
-	while (*s != 0 || len) {
-		if (state) {
-			if (*s==';') {
-				state = 2; //entity found
-				out = pos;
-				break;
-			} else {
-				g_string_append_c(str, *s);
-			}
-		}
-		if (*s=='&') {
-			in = pos-1;
-			state = 1;
-                }
-		*s++;
-		pos++;
-		len--;
-	}
-	if (state == 2) {
-		htmlEntityDesc *my = (htmlEntityDesc *)htmlEntityLookup((xmlChar *)str->str);
-		if (my) {
-			g_string_erase(res, in, out-in);
-			g_string_insert_unichar(res, in, my->value);
-			gchar *result = res->str;
-			g_string_free(res, FALSE);
-			res = g_string_new(NULL);
-			g_string_append(res, result);
-			goto reent;
-		}
-	}
-	result = res->str;
-	g_string_free(res, FALSE);
-	return result;
-}	
-
-gchar *
-decode_html_entities(gchar *str)
-{
-	gchar *newstr;
-	g_return_val_if_fail (str != NULL, NULL);
-
-	xmlParserCtxtPtr ctxt = xmlNewParserCtxt();
-	xmlCtxtUseOptions(ctxt,   XML_PARSE_RECOVER
-				| XML_PARSE_NOENT
-				| XML_PARSE_NOERROR
-				| XML_PARSE_NONET);
-
-	xmlChar *tmp =  xmlStringDecodeEntities(ctxt,
-					     BAD_CAST str,
-					     XML_SUBSTITUTE_REF
-					     & XML_SUBSTITUTE_PEREF,
-					     0,
-					     0,
-					     0);
-
-	newstr = g_strdup((gchar *)tmp);
-	xmlFree(tmp);
-	xmlFreeParserCtxt(ctxt);
-	return newstr;
-}
-
-gchar *
-encode_html_entities(gchar *str)
-{
-        g_return_val_if_fail (str != NULL, NULL);
-
-/*        xmlParserCtxtPtr ctxt = xmlNewParserCtxt();
-        xmlCtxtUseOptions(ctxt,   XML_PARSE_RECOVER
-                                | XML_PARSE_NOENT
-                                | XML_PARSE_NOERROR
-                                | XML_PARSE_NONET);*/
-
-        xmlChar *tmp =  xmlEncodeEntitiesReentrant(NULL, (xmlChar *)str);
-
-/*        xmlChar *tmp =  (gchar *)xmlStringDecodeEntities(ctxt,
-                                             BAD_CAST str,
-                                             XML_SUBSTITUTE_REF
-                                             & XML_SUBSTITUTE_PEREF,
-                                             0,
-                                             0,
-                                             0);
-
-        newstr = g_strdup(tmp);
-        xmlFree(tmp);
-        xmlFreeParserCtxt(ctxt);
-        return newstr;*/
-	return (gchar *)tmp;
-}
-
-gchar *
-encode_rfc2047(gchar *str)
-{
-	gchar *tmp = decode_entities(str);
-        gchar *rfctmp = camel_header_encode_string((unsigned char*)tmp);
-        g_free(tmp);
-	return (gchar *)rfctmp;
-}
-
 static gchar *
 update_comments(RDF *r)
 {
diff --git a/src/rss.h b/src/rss.h
index 4d5301b..64827a9 100644
--- a/src/rss.h
+++ b/src/rss.h
@@ -1,5 +1,5 @@
 /*  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
@@ -338,7 +338,6 @@ void textcb(NetStatusType status, gpointer statusdata, gpointer data);
 #ifdef HAVE_GECKO
 void rss_mozilla_init(void);
 #endif
-gpointer lookup_key(gpointer key);
 void taskbar_op_set_progress(gpointer key, gchar *msg, gdouble progress);
 void taskbar_op_finish(gpointer key);
 void taskbar_push_message(gchar *message);
@@ -347,13 +346,12 @@ void write_feeds_folder_line(gpointer key, gpointer value, FILE *file);
 void populate_reversed(gpointer key, gpointer value, GHashTable *hash);
 gchar *rss_component_peek_base_directory(MailComponent *component);
 void custom_feed_timeout(void);
-void gio_finish_feed (GObject *object, GAsyncResult *res, gpointer user_data);
-gchar *encode_rfc2047(gchar *str);
 CamelFolder *check_feed_folder(gchar *folder_name);
 gboolean setup_feed(add_feed *feed);
 gboolean feed_is_new(gchar *file_name, gchar *needle);
 gboolean web_auth_dialog(gchar *url);
 gchar *get_main_folder(void);
+gpointer lookup_key(gpointer key);
 
 #ifdef _WIN32
 char *strcasestr(const char *a, const char *b);
@@ -374,4 +372,12 @@ typedef struct FEED_FOLDERS {
 	gchar *rname;		// renamed folder name
 } feed_folders;
 
+struct _rfMessage {
+        guint    status_code;
+        gchar   *body;
+        goffset  length;
+};
+
+typedef struct _rfMessage rfMessage;
+
 #endif



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