Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:kernel-2.6.32
evolution-data-server
bnc-477697-display-names.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bnc-477697-display-names.diff of Package evolution-data-server
diff --git a/camel/providers/groupwise/camel-groupwise-folder.c b/camel/providers/groupwise/camel-groupwise-folder.c index 54fc0f8..6697b1c 100644 --- a/camel/providers/groupwise/camel-groupwise-folder.c +++ b/camel/providers/groupwise/camel-groupwise-folder.c @@ -96,5 +96,6 @@ static void groupwise_msg_set_recipient_list (CamelMimeMessage *msg, EGwItem *it static void gw_update_cache ( CamelFolder *folder, GList *item_list, CamelException *ex, gboolean uid_flag); static CamelMimeMessage *groupwise_folder_item_to_msg ( CamelFolder *folder, EGwItem *item, CamelException *ex ); +static const char *get_from_from_org (EGwItemOrganizer *org); #define d(x) @@ -420,20 +421,14 @@ groupwise_msg_set_recipient_list (CamelMimeMessage *msg, EGwItem *item) if (org) { if (org->display_name && org->display_name[0] && org->email != NULL && org->email[0] != '\0') { - int i; - for (i = 0; org->display_name[i] != '<' && - org->display_name[i] != '\0'; - i++); - - org->display_name[i] = '\0'; - } - if (org->display_name && org->email) + org->display_name = g_strdelimit (org->display_name, "<>", ' '); ha=camel_header_address_new_name(org->display_name, org->email); + } else if (org->email) + ha=camel_header_address_new_name(org->email, org->email); else if (org->display_name) ha=camel_header_address_new_group(org->display_name); else ha = NULL; - if (ha) { subs_email = camel_header_address_list_encode (ha); camel_medium_set_header (CAMEL_MEDIUM (msg), "From", subs_email); @@ -1455,32 +1450,7 @@ gw_update_cache (CamelFolder *folder, GList *list, CamelException *ex, gboolean mi->server_flags = mi->info.flags; org = e_gw_item_get_organizer (item); - - if (org) { - GString *str; - int i; - str = g_string_new (""); - - if (org->display_name && org->display_name[0] && org->email != NULL && org->email[0] != '\0') { - for (i = 0; org->display_name[i] != '<' && - org->display_name[i] != '\0'; - i++); - - org->display_name[i] = '\0'; - str = g_string_append (str, org->display_name); - str = g_string_append (str, " "); - } - - if (org->email && org->email[0]) { - g_string_append (str, "<"); - str = g_string_append (str, org->email); - g_string_append (str, ">"); - } - - - mi->info.from = camel_pstring_strdup (str->str); - g_string_free (str, TRUE); - } + mi->info.from = get_from_from_org (org); g_string_truncate (str, 0); recp_list = e_gw_item_get_recipient_list (item); @@ -1580,5 +1550,36 @@ gw_update_cache (CamelFolder *folder, GList *list, CamelException *ex, gboolean camel_folder_change_info_free (changes); } +static const char * +get_from_from_org (EGwItemOrganizer *org) +{ + const char *ret = NULL; + + if (org) { + GString *str; + + str = g_string_new (""); + if (org->display_name && org->display_name[0]) { + org->display_name = g_strdelimit (org->display_name, "<>", ' '); + str = g_string_append (str, org->display_name); + str = g_string_append (str, " "); + } else if (org->email && org->email [0]) { + str = g_string_append (str, org->email); + str = g_string_append (str, " "); + } + + if (org->email && org->email[0]) { + g_string_append (str, "<"); + str = g_string_append (str, org->email); + g_string_append (str, ">"); + } + ret = camel_pstring_strdup (str->str); + g_string_free (str, TRUE); + + return ret; + } else + return camel_pstring_strdup (""); +} + void gw_update_summary ( CamelFolder *folder, GList *list,CamelException *ex) @@ -1680,28 +1681,8 @@ gw_update_summary ( CamelFolder *folder, GList *list,CamelException *ex) mi->server_flags = mi->info.flags; org = e_gw_item_get_organizer (item); - if (org) { - GString *str; - int i; - str = g_string_new (""); - if (org->display_name && org->display_name[0] && org->email != NULL && org->email[0] != '\0') { - for (i = 0; org->display_name[i] != '<' && - org->display_name[i] != '\0'; - i++); - - org->display_name[i] = '\0'; - str = g_string_append (str, org->display_name); - str = g_string_append (str, " "); - } + mi->info.from = get_from_from_org (org); - if (org->email && org->email[0]) { - g_string_append (str, "<"); - str = g_string_append (str, org->email); - g_string_append (str, ">"); - } - mi->info.from = camel_pstring_strdup (str->str); - g_string_free (str, TRUE); - } g_string_truncate (str, 0); recp_list = e_gw_item_get_recipient_list (item); if (recp_list) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor