File bnc-464758-add-dummy-string.patch of Package evolution-data-server
--- camel/providers/groupwise/camel-groupwise-folder.c 2009/01/27 08:42:34 9970
+++ camel/providers/groupwise/camel-groupwise-folder.c 2009/01/27 08:50:19 9971
@@ -536,6 +536,7 @@
update_junk_list (CamelStore *store, CamelMessageInfo *info, int flag)
{
gchar **email = NULL, *from = NULL;
+ int index = 0;
CamelGroupwiseStore *gw_store= CAMEL_GROUPWISE_STORE(store);
CamelGroupwiseStorePrivate *priv = gw_store->priv;
EGwConnection *cnc = cnc_lookup (priv);
@@ -545,18 +546,25 @@
email = g_strsplit_set (from, "<>", -1);
- if (!email || !email[1])
+ if (from [0] == '<') {
+ /* g_strsplit_set will add a dummy empty string as the first string if the first character in the
+ original string is one of the delimiters that you want to suppress.
+ Refer to g_strsplit_set documentation */
+ index = 1;
+ }
+
+ if (!email || !email[index])
goto error;
if (flag == ADD_JUNK_ENTRY)
- e_gw_connection_create_junk_entry (cnc, email[1], "email", "junk");
+ e_gw_connection_create_junk_entry (cnc, email[index], "email", "junk");
else if (flag == REMOVE_JUNK_ENTRY) {
GList *list = NULL;
EGwJunkEntry *entry;
if (e_gw_connection_get_junk_entries (cnc, &list)== E_GW_CONNECTION_STATUS_OK){
while (list) {
entry = list->data;
- if (!g_ascii_strcasecmp (entry->match, email[1])) {
+ if (!g_ascii_strcasecmp (entry->match, email[index])) {
e_gw_connection_remove_junk_entry (cnc, entry->id);
}
list = list->next;