diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2003-03-27 04:28:54 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2003-03-27 04:28:54 +0800 |
commit | 4d4d2a9114f5c5dd1286a8388ffc51ee73629040 (patch) | |
tree | f35e7e4bfe4551a2ee8042b185340522f7498597 /filter/filter-source.c | |
parent | 7ecd4e666490ee384122b938149ac04ab8ead6d9 (diff) | |
download | gsoc2013-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.c | 25 |
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++; } |