From 2e5ea6656041f61c5a2091878be439c63947b1cc Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 2 Dec 2015 17:44:25 +0000 Subject: [PATCH] Try to fix bloody SORTED_RECIPS rule Issue: #437 --- src/libmime/mime_expressions.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libmime/mime_expressions.c b/src/libmime/mime_expressions.c index 8f3f6d0410..ab685b2c0e 100644 --- a/src/libmime/mime_expressions.c +++ b/src/libmime/mime_expressions.c @@ -1384,6 +1384,7 @@ is_recipient_list_sorted (const InternetAddressList * ia) { const InternetAddressList *cur; InternetAddress *addr; + InternetAddressMailbox *addr_mb; gboolean res = TRUE; struct addr_list current = { NULL, NULL }, previous = { NULL, NULL @@ -1403,10 +1404,14 @@ is_recipient_list_sorted (const InternetAddressList * ia) for (i = 0; i < num; i++) { addr = internet_address_list_get_address ((InternetAddressList *)cur, i); - current.addr = (gchar *)internet_address_get_name (addr); + if (INTERNET_ADDRESS_IS_MAILBOX (addr)) { + addr_mb = INTERNET_ADDRESS_MAILBOX (addr); + current.addr = (gchar *) internet_address_mailbox_get_addr (addr_mb); + } + if (previous.addr != NULL) { if (current.addr && - g_ascii_strcasecmp (current.addr, previous.addr) < 0) { + g_ascii_strcasecmp (current.addr, previous.addr) <= 0) { res = FALSE; break; } -- 2.47.3