aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/bbdb/ChangeLog6
-rw-r--r--plugins/bbdb/bbdb.c12
2 files changed, 18 insertions, 0 deletions
diff --git a/plugins/bbdb/ChangeLog b/plugins/bbdb/ChangeLog
index ca872a47d6..922fade265 100644
--- a/plugins/bbdb/ChangeLog
+++ b/plugins/bbdb/ChangeLog
@@ -1,3 +1,9 @@
+2007-06-25 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #334140
+
+ * bbdb.c: (bbdb_do_it): Strip '\"' out of name part, if exists.
+
2007-06-07 Gilles Dartiguelongue <dartigug@esiee.fr>
* gaimbuddies.c: (get_node_text), (parse_contact): more compilation
diff --git a/plugins/bbdb/bbdb.c b/plugins/bbdb/bbdb.c
index 0145f63a78..8085eaf657 100644
--- a/plugins/bbdb/bbdb.c
+++ b/plugins/bbdb/bbdb.c
@@ -195,6 +195,18 @@ bbdb_do_it (EBook *book, const char *name, const char *email)
return;
}
+ if (g_utf8_strchr (name, -1, '\"')) {
+ GString *tmp = g_string_new (name);
+ gchar *p;
+
+ while (p = g_utf8_strchr (tmp->str, tmp->len, '\"'), p)
+ tmp = g_string_erase (tmp, p - tmp->str, 1);
+
+ g_free (temp_name);
+ temp_name = g_string_free (tmp, FALSE);
+ name = temp_name;
+ }
+
/* If a contact exists with this name, add the email address to it. */
query_string = g_strdup_printf ("(is \"full_name\" \"%s\")", name);
query = e_book_query_from_string (query_string);