aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filter-source.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2003-03-27 04:28:54 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2003-03-27 04:28:54 +0800
commit4d4d2a9114f5c5dd1286a8388ffc51ee73629040 (patch)
treef35e7e4bfe4551a2ee8042b185340522f7498597 /filter/filter-source.c
parent7ecd4e666490ee384122b938149ac04ab8ead6d9 (diff)
downloadgsoc2013-evolution-4d4d2a9114f5c5dd1286a8388ffc51ee73629040.tar
gsoc2013-evolution-4d4d2a9114f5c5dd1286a8388ffc51ee73629040.tar.gz
gsoc2013-evolution-4d4d2a9114f5c5dd1286a8388ffc51ee73629040.tar.bz2
gsoc2013-evolution-4d4d2a9114f5c5dd1286a8388ffc51ee73629040.tar.lz
gsoc2013-evolution-4d4d2a9114f5c5dd1286a8388ffc51ee73629040.tar.xz
gsoc2013-evolution-4d4d2a9114f5c5dd1286a8388ffc51ee73629040.tar.zst
gsoc2013-evolution-4d4d2a9114f5c5dd1286a8388ffc51ee73629040.zip
Loop over child nodes here too in order to not be affected by libxml2
2003-03-26 Jeffrey Stedfast <fejj@ximian.com> * filter-file.c (xml_decode): Loop over child nodes here too in order to not be affected by libxml2 crack. * filter-source.c (xml_decode): Fixed to disreguard libxml2 crack. (get_widget): Use strcmp instead of e_url_equal(). svn path=/trunk/; revision=20523
Diffstat (limited to 'filter/filter-source.c')
-rw-r--r--filter/filter-source.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/filter/filter-source.c b/filter/filter-source.c
index faa51e8f58..365403bdf2 100644
--- a/filter/filter-source.c
+++ b/filter/filter-source.c
@@ -195,14 +195,19 @@ xml_decode (FilterElement *fe, xmlNodePtr node)
char *uri;
node = node->children;
- if (node && node->name && !strcmp (node->name, "uri")) {
- uri = xmlNodeGetContent (node);
- url = camel_url_new (uri, NULL);
- xmlFree (uri);
+ while (node != NULL) {
+ if (!strcmp (node->name, "uri")) {
+ uri = xmlNodeGetContent (node);
+ url = camel_url_new (uri, NULL);
+ xmlFree (uri);
+
+ g_free (fs->priv->current_url);
+ fs->priv->current_url = camel_url_to_string (url, CAMEL_URL_HIDE_ALL);
+ camel_url_free (url);
+ break;
+ }
- g_free (fs->priv->current_url);
- fs->priv->current_url = camel_url_to_string (url, CAMEL_URL_HIDE_ALL);
- camel_url_free (url);
+ node = node->next;
}
return 0;
@@ -275,13 +280,11 @@ get_widget (FilterElement *fe)
g_object_set_data ((GObject *) item, "source", info);
g_signal_connect (item, "activate", G_CALLBACK (source_changed), fs);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
- /* FIXME: don't use e_url_equal */
- if (fs->priv->current_url && e_url_equal (info->url, fs->priv->current_url)) {
+ if (fs->priv->current_url && !strcmp (info->url, fs->priv->current_url))
current_index = index;
- }
index++;
}