]> granicus.if.org Git - neomutt/commitdiff
Cleanup Address API: mutt_addrlist_to_(intl|local) -> mutt_addresslist_to_(intl|local)
authorPietro Cerutti <gahr@gahr.ch>
Thu, 16 May 2019 16:34:59 +0000 (16:34 +0000)
committerRichard Russon <rich@flatcap.org>
Thu, 23 May 2019 10:57:10 +0000 (11:57 +0100)
address/address.c
address/address.h
email/envelope.c
test/Makefile.autosetup
test/address/mutt_addresslist_to_intl.c [moved from test/address/mutt_addrlist_to_intl.c with 73% similarity]
test/address/mutt_addresslist_to_local.c [moved from test/address/mutt_addrlist_to_local.c with 81% similarity]
test/main.c

index a1e325f75eeece223fda089d25b5364c615ad1b3..0e7b84ccdd0a005e6fc1558e83712aed9389fa82 100644 (file)
@@ -1202,7 +1202,7 @@ done:
 }
 
 /**
- * mutt_addrlist_to_intl - Convert an Address list to Punycode
+ * mutt_addresslist_to_intl - Convert an Address list to Punycode
  * @param[in]  a   Address list to modify
  * @param[out] err Pointer for failed addresses
  * @retval 0  Success, all addresses converted
@@ -1210,8 +1210,9 @@ done:
  */
 int mutt_addresslist_to_intl(struct AddressList *al, char **err)
 {
-  char *user = NULL, *domain = NULL;
-  char *intl_mailbox = NULL;
+  if (!al)
+    return 0;
+
   int rc = 0;
 
   if (err)
@@ -1223,10 +1224,12 @@ int mutt_addresslist_to_intl(struct AddressList *al, char **err)
     if (!an->addr->mailbox || mutt_addr_is_intl(an->addr))
       continue;
 
+    char *user = NULL;
+    char *domain = NULL;
     if (mutt_addr_mbox_to_udomain(an->addr->mailbox, &user, &domain) == -1)
       continue;
 
-    intl_mailbox = mutt_idna_local_to_intl(user, domain);
+    char *intl_mailbox = mutt_idna_local_to_intl(user, domain);
 
     FREE(&user);
     FREE(&domain);
@@ -1245,24 +1248,15 @@ int mutt_addresslist_to_intl(struct AddressList *al, char **err)
   return rc;
 }
 
-int mutt_addrlist_to_intl(struct Address *a, char **err)
-{
-  struct AddressList *al = mutt_addr_to_addresslist(a);
-  int rc = mutt_addresslist_to_intl(al, err);
-  a = mutt_addresslist_to_addr(al);
-  FREE(&al);
-  return rc;
-}
-
 /**
- * mutt_addrlist_to_local - Convert an Address list from Punycode
+ * mutt_addresslist_to_local - Convert an Address list from Punycode
  * @param a Address list to modify
  * @retval 0 Always
  */
 int mutt_addresslist_to_local(struct AddressList *al)
 {
-  char *user = NULL, *domain = NULL;
-  char *local_mailbox = NULL;
+  if (!al)
+    return 0;
 
   struct AddressNode *an = NULL;
   TAILQ_FOREACH(an, al, entries)
@@ -1270,10 +1264,12 @@ int mutt_addresslist_to_local(struct AddressList *al)
     if (!an->addr->mailbox || mutt_addr_is_local(an->addr))
       continue;
 
+    char *user = NULL;
+    char *domain = NULL;
     if (mutt_addr_mbox_to_udomain(an->addr->mailbox, &user, &domain) == -1)
       continue;
 
-    local_mailbox = mutt_idna_intl_to_local(user, domain, 0);
+    char *local_mailbox = mutt_idna_intl_to_local(user, domain, 0);
 
     FREE(&user);
     FREE(&domain);
@@ -1284,15 +1280,6 @@ int mutt_addresslist_to_local(struct AddressList *al)
   return 0;
 }
 
-int mutt_addrlist_to_local(struct Address *a)
-{
-  struct AddressList *al = mutt_addr_to_addresslist(a);
-  mutt_addresslist_to_local(al);
-  mutt_addresslist_to_addr(al);
-  FREE(&al);
-  return 0;
-}
-
 /**
  * mutt_addresslist_dedupe - Remove duplicate addresses
  * @param addr Address list to de-dupe
index d3d3e1b34d9710ad93ab14aa1ee3588b1b145dc1..76331f1af90be7ece3b55c0ccd9718b3abf6dd6f 100644 (file)
@@ -78,9 +78,6 @@ void            mutt_addr_free(struct Address **a);
 size_t          mutt_addr_write(char *buf, size_t buflen, struct Address *addr, bool display);
 struct Address *mutt_addr_new(void);
 
-int             mutt_addrlist_to_intl(struct Address *a, char **err);
-int             mutt_addrlist_to_local(struct Address *a);
-
 /* Functions that work on struct AddressList */
 struct AddressList *mutt_addr_to_addresslist(struct Address *a);
 struct AddressList *mutt_addresslist_new(void);
index 7994a3f80e25fcaf375fc1794eb2361308a70e31..c18aa78207cb001e472fe8fcb8cac27c2cf50077 100644 (file)
@@ -217,7 +217,7 @@ bool mutt_env_cmp_strict(const struct Envelope *e1, const struct Envelope *e2)
  * mutt_env_to_local - Convert an Envelope's Address fields to local format
  * @param env Envelope to modify
  *
- * Run mutt_addrlist_to_local() on each of the Address fields in the Envelope.
+ * Run mutt_addresslist_to_local() on each of the Address fields in the Envelope.
  */
 void mutt_env_to_local(struct Envelope *env)
 {
@@ -255,7 +255,7 @@ void mutt_env_to_local(struct Envelope *env)
  * @retval 0 Success, all addresses converted
  * @retval 1 Error, tag and err will be set
  *
- * Run mutt_addrlist_to_intl() on each of the Address fields in the Envelope.
+ * Run mutt_addresslist_to_intl() on each of the Address fields in the Envelope.
  */
 int mutt_env_to_intl(struct Envelope *env, const char **tag, char **err)
 {
index 57d9dd8d5bdbaa031000dc0cbb3d0b6e64d65418..fa85e1547351a036167834ceb42c4749cdac0790 100644 (file)
@@ -13,8 +13,8 @@ ADDRESS_OBJS  = test/address/mutt_addr_append.o \
                  test/address/mutt_addresslist_qualify.o \
                  test/address/mutt_addresslist_remove.o \
                  test/address/mutt_addresslist_remove_xrefs.o \
-                 test/address/mutt_addrlist_to_intl.o \
-                 test/address/mutt_addrlist_to_local.o \
+                 test/address/mutt_addresslist_to_intl.o \
+                 test/address/mutt_addresslist_to_local.o \
                  test/address/mutt_addr_new.o \
                  test/address/mutt_addr_search.o \
                  test/address/mutt_addr_valid_msgid.o \
similarity index 73%
rename from test/address/mutt_addrlist_to_intl.c
rename to test/address/mutt_addresslist_to_intl.c
index 670c9d19c06a23b151076e1a61b3d323cbce4146..1232800c1cb5ce02d54ac1170c89a9b7cb416094 100644 (file)
@@ -1,6 +1,6 @@
 /**
  * @file
- * Test code for mutt_addrlist_to_intl()
+ * Test code for mutt_addresslist_to_intl()
  *
  * @authors
  * Copyright (C) 2019 Richard Russon <rich@flatcap.org>
 #include "mutt/mutt.h"
 #include "address/lib.h"
 
-void test_mutt_addrlist_to_intl(void)
+void test_mutt_addresslist_to_intl(void)
 {
-  // int mutt_addrlist_to_intl(struct Address *a, char **err);
+  // int mutt_addresslist_to_intl(struct AddressList *a, char **err);
 
   {
     char *err = NULL;
-    TEST_CHECK(mutt_addrlist_to_intl(NULL, &err) == 0);
+    TEST_CHECK(mutt_addresslist_to_intl(NULL, &err) == 0);
   }
 
   {
-    struct Address addr = { 0 };
-    TEST_CHECK(mutt_addrlist_to_intl(&addr, NULL) == 0);
+    struct AddressList al = TAILQ_HEAD_INITIALIZER(al);
+    TEST_CHECK(mutt_addresslist_to_intl(&al, NULL) == 0);
   }
 }
similarity index 81%
rename from test/address/mutt_addrlist_to_local.c
rename to test/address/mutt_addresslist_to_local.c
index fc213a19f5bc8d6966acaa836ab28e0c86da0eb3..7a8a5d733fb56748b88f492971e28b7b3eab99e8 100644 (file)
@@ -1,6 +1,6 @@
 /**
  * @file
- * Test code for mutt_addrlist_to_local()
+ * Test code for mutt_addresslist_to_local()
  *
  * @authors
  * Copyright (C) 2019 Richard Russon <rich@flatcap.org>
 #include "mutt/mutt.h"
 #include "address/lib.h"
 
-void test_mutt_addrlist_to_local(void)
+void test_mutt_addresslist_to_local(void)
 {
-  // int mutt_addrlist_to_local(struct Address *a);
+  // int mutt_addresslist_to_local(struct AddressList *a);
 
   {
-    TEST_CHECK(mutt_addrlist_to_local(NULL) == 0);
+    TEST_CHECK(mutt_addresslist_to_local(NULL) == 0);
   }
 }
index 5f7d6cced56a2735c47c31d838bc479c86f3889c..f458bf4f595359e81721ab4eae8a171de4fb7ae1 100644 (file)
@@ -45,8 +45,8 @@
   NEOMUTT_TEST_ITEM(test_mutt_addresslist_qualify)                             \
   NEOMUTT_TEST_ITEM(test_mutt_addresslist_remove)                              \
   NEOMUTT_TEST_ITEM(test_mutt_addresslist_remove_xrefs)                        \
-  NEOMUTT_TEST_ITEM(test_mutt_addrlist_to_intl)                                \
-  NEOMUTT_TEST_ITEM(test_mutt_addrlist_to_local)                               \
+  NEOMUTT_TEST_ITEM(test_mutt_addresslist_to_intl)                             \
+  NEOMUTT_TEST_ITEM(test_mutt_addresslist_to_local)                            \
   NEOMUTT_TEST_ITEM(test_mutt_actx_add_attach)                                 \
   NEOMUTT_TEST_ITEM(test_mutt_actx_add_body)                                   \
   NEOMUTT_TEST_ITEM(test_mutt_actx_add_fp)                                     \