I get the following results with the code below. Only the first is usable, of course. The latter two are causing Pine to blow chunks. I'm on Gmime 2.2.1 (latest is 2.2.3, however).
((NIL NIL "i_am_not" "broken.org")) (("Break me" NIL NIL "����������������������������������������������������������������")) (("Joe's Friends" NIL "�" NIL)) InternetAddressList *alist; GList *list = NULL; alist = internet_address_parse_string("<[EMAIL PROTECTED]>"); list = _imap_append_alist_as_plist(list, (const InternetAddressList *)alist); internet_address_list_destroy(alist); alist = NULL; g_list_foreach(list, printf, NULL); g_list_foreach(list, g_free, NULL); g_list_free(list); list = NULL; alist = internet_address_parse_string("Break me: <[EMAIL PROTECTED]>"); list = _imap_append_alist_as_plist(list, (const InternetAddressList *)alist); internet_address_list_destroy(alist); alist = NULL; g_list_foreach(list, printf, NULL); g_list_foreach(list, g_free, NULL); g_list_free(list); InternetAddressList *alist; GList *list = NULL; alist = internet_address_parse_string(" Joe's Friends: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED];"); list = _imap_append_alist_as_plist(list, (const InternetAddressList *)alist); internet_address_list_destroy(alist); alist = NULL; g_list_foreach(list, printf, NULL); g_list_foreach(list, g_free, NULL); g_list_free(list); Aaron