[balsa] address: rename add to append



commit 95f00e88f4514fcb72b81ad89e01171b1fb16de3
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Tue Jun 25 22:31:49 2019 -0400

    address: rename add to append
    
    to make sure that addrs are in the same order as in the
    address-book, for address-books that support multiple addrs per
    address.
    
    * libbalsa/address-book-extern.c (lbe_load_cb):
    * libbalsa/address-book-gpe.c (gpe_read_attr):
    * libbalsa/address-book-ldap.c
    (libbalsa_address_book_ldap_get_address):
    * libbalsa/address-book-ldif.c (address_new_prefill):
    * libbalsa/address-book-rubrica.c (extract_net):
    * libbalsa/address-book-vcard.c
    (libbalsa_address_book_vcard_parse_address):
    * libbalsa/address.c (libbalsa_address_append_addr):
    * libbalsa/address.h:
    * libbalsa/rfc2445.c (cal_address_2445_to_lbaddress):
    * libbalsa/rfc6350.c (rfc6350_eval_line):
    * src/store-address.c (store_address_add_address):

 ChangeLog                       | 22 ++++++++++++++++++++++
 libbalsa/address-book-extern.c  |  2 +-
 libbalsa/address-book-gpe.c     |  4 ++--
 libbalsa/address-book-ldap.c    |  2 +-
 libbalsa/address-book-ldif.c    |  2 +-
 libbalsa/address-book-rubrica.c |  2 +-
 libbalsa/address-book-vcard.c   |  5 +++--
 libbalsa/address.c              |  9 ++++++---
 libbalsa/address.h              |  2 +-
 libbalsa/rfc2445.c              |  2 +-
 libbalsa/rfc6350.c              |  2 +-
 src/store-address.c             |  6 +++---
 12 files changed, 43 insertions(+), 17 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index c5984ad01..ee0438900 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2019-06-25  Peter Bloomfield  <pbloomfield bellsouth net>
+
+       address: rename add to append
+
+       to make sure that addrs are in the same order as in the
+       address-book, for address-books that support multiple addrs per
+       address.
+
+       * libbalsa/address-book-extern.c (lbe_load_cb):
+       * libbalsa/address-book-gpe.c (gpe_read_attr):
+       * libbalsa/address-book-ldap.c
+       (libbalsa_address_book_ldap_get_address):
+       * libbalsa/address-book-ldif.c (address_new_prefill):
+       * libbalsa/address-book-rubrica.c (extract_net):
+       * libbalsa/address-book-vcard.c
+       (libbalsa_address_book_vcard_parse_address):
+       * libbalsa/address.c (libbalsa_address_append_addr):
+       * libbalsa/address.h:
+       * libbalsa/rfc2445.c (cal_address_2445_to_lbaddress):
+       * libbalsa/rfc6350.c (rfc6350_eval_line):
+       * src/store-address.c (store_address_add_address):
+
 2019-06-24  Peter Bloomfield  <pbloomfield bellsouth net>
 
        address: Remove libbalsa_address_get_addr_list()
diff --git a/libbalsa/address-book-extern.c b/libbalsa/address-book-extern.c
index ef33c2701..1aa833782 100644
--- a/libbalsa/address-book-extern.c
+++ b/libbalsa/address-book-extern.c
@@ -188,7 +188,7 @@ lbe_load_cb(const gchar *email, const gchar *name, void *data)
 
     /* The extern database doesn't support Id's, sorry! */
     libbalsa_address_set_nick_name(address, _("No-Id"));
-    libbalsa_address_add_addr(address, email);
+    libbalsa_address_append_addr(address, email);
     libbalsa_address_set_full_name(address, name != NULL ? name : _("No-Name"));
 
     d->callback(d->ab, address, d->closure);
diff --git a/libbalsa/address-book-gpe.c b/libbalsa/address-book-gpe.c
index a73feecb3..1eeddcb4f 100644
--- a/libbalsa/address-book-gpe.c
+++ b/libbalsa/address-book-gpe.c
@@ -245,9 +245,9 @@ gpe_read_attr(void *arg, int argc, char **argv, char **names)
                libbalsa_address_get_organization(address) == NULL) {
         libbalsa_address_set_organization(address, argv[1]);
     } else if (g_ascii_strcasecmp(argv[0], "HOME.EMAIL") == 0) {
-        libbalsa_address_add_addr(address, argv[1]);
+        libbalsa_address_append_addr(address, argv[1]);
     } else if (g_ascii_strcasecmp(argv[0], "WORK.EMAIL") == 0) {
-        libbalsa_address_add_addr(address, argv[1]);
+        libbalsa_address_append_addr(address, argv[1]);
     }
 
     return 0;
diff --git a/libbalsa/address-book-ldap.c b/libbalsa/address-book-ldap.c
index 99449bc29..4963465ee 100644
--- a/libbalsa/address-book-ldap.c
+++ b/libbalsa/address-book-ldap.c
@@ -499,7 +499,7 @@ libbalsa_address_book_ldap_get_address(LibBalsaAddressBook * ab,
     g_free(uid);
     libbalsa_address_set_organization(address, org);
     g_free(org);
-    libbalsa_address_add_addr(address, email);
+    libbalsa_address_append_addr(address, email);
     g_free(email);
 
     return address;
diff --git a/libbalsa/address-book-ldif.c b/libbalsa/address-book-ldif.c
index cdf1639a4..1aadb0efd 100644
--- a/libbalsa/address-book-ldif.c
+++ b/libbalsa/address-book-ldif.c
@@ -206,7 +206,7 @@ address_new_prefill(LibBalsaAddress * address, GList * address_list,
     gchar *full_name;
 
     for (list = address_list; list != NULL; list = list->next)
-        libbalsa_address_add_addr(address, (const gchar *) list->data);
+        libbalsa_address_append_addr(address, (const gchar *) list->data);
     g_list_free_full(address_list, g_free);
 
     if (givenn != NULL) {
diff --git a/libbalsa/address-book-rubrica.c b/libbalsa/address-book-rubrica.c
index d94a0a0e3..a48a66f3e 100644
--- a/libbalsa/address-book-rubrica.c
+++ b/libbalsa/address-book-rubrica.c
@@ -707,7 +707,7 @@ extract_net(xmlNodePtr entry, LibBalsaAddress *address)
            && g_strcmp0(uri_type = xml_node_get_attr(entry, CXMLCHARP("type")),
                          "email") == 0
            && (mail_addr = xml_node_get_text(entry)) != NULL) {
-            libbalsa_address_add_addr(address, mail_addr);
+            libbalsa_address_append_addr(address, mail_addr);
             g_free(mail_addr);
             ++n_addrs;
         }
diff --git a/libbalsa/address-book-vcard.c b/libbalsa/address-book-vcard.c
index 1b9750628..6f0026f77 100644
--- a/libbalsa/address-book-vcard.c
+++ b/libbalsa/address-book-vcard.c
@@ -254,8 +254,9 @@ libbalsa_address_book_vcard_parse_address(FILE * stream,
                     libbalsa_address_set_nick_name(address, nick_name);
                     libbalsa_address_set_organization(address, org);
 
-                    for (list = addr_list; list != NULL; list=list->next)
-                        libbalsa_address_add_addr(address, (const gchar *) list->data);
+                    addr_list = g_list_reverse(addr_list);
+                    for (list = addr_list; list != NULL; list = list->next)
+                        libbalsa_address_append_addr(address, (const gchar *) list->data);
                     g_list_free_full(addr_list, g_free);
 
                     res = LBABERR_OK;
diff --git a/libbalsa/address.c b/libbalsa/address.c
index a2669a9f4..563094f8f 100644
--- a/libbalsa/address.c
+++ b/libbalsa/address.c
@@ -1244,10 +1244,13 @@ libbalsa_address_set_organization(LibBalsaAddress * address,
 }
 
 void
-libbalsa_address_add_addr(LibBalsaAddress * address,
-                          const gchar     * addr)
+libbalsa_address_append_addr(LibBalsaAddress * address,
+                             const gchar     * addr)
 {
     g_return_if_fail(LIBBALSA_IS_ADDRESS(address));
 
-    address->addr_list = g_list_prepend(address->addr_list, g_strdup(addr));
+    /* Append to keep the order the same as in an address book;
+     * prepend would be more efficient if addresses had many addrs, but
+     * then how would we keep the address order? */
+    address->addr_list = g_list_append(address->addr_list, g_strdup(addr));
 }
diff --git a/libbalsa/address.h b/libbalsa/address.h
index b93528958..2b9010c35 100644
--- a/libbalsa/address.h
+++ b/libbalsa/address.h
@@ -118,7 +118,7 @@ void libbalsa_address_set_nick_name   (LibBalsaAddress * address,
                                        const gchar     * nick_name);
 void libbalsa_address_set_organization(LibBalsaAddress * address,
                                        const gchar     * organization);
-void libbalsa_address_add_addr        (LibBalsaAddress * address,
+void libbalsa_address_append_addr     (LibBalsaAddress * address,
                                        const gchar     * addr);
 
 #endif                         /* __LIBBALSA_ADDRESS_H__ */
diff --git a/libbalsa/rfc2445.c b/libbalsa/rfc2445.c
index 296ffeaf5..fa0967ed5 100644
--- a/libbalsa/rfc2445.c
+++ b/libbalsa/rfc2445.c
@@ -714,7 +714,7 @@ cal_address_2445_to_lbaddress(const gchar * uri, gchar ** attributes,
        return NULL;
 
     retval = libbalsa_address_new();
-    libbalsa_address_add_addr(retval, uri + 7);
+    libbalsa_address_append_addr(retval, uri + 7);
     if (!is_organizer)
        g_object_set_data(G_OBJECT(retval), RFC2445_ROLE,
                          LB_ROLE2PTR(VCAL_ROLE_REQ_PART));
diff --git a/libbalsa/rfc6350.c b/libbalsa/rfc6350.c
index 5965bb76a..aecb1538e 100644
--- a/libbalsa/rfc6350.c
+++ b/libbalsa/rfc6350.c
@@ -295,7 +295,7 @@ rfc6350_eval_line(gchar                       *line,
                                g_strfreev(n_items);
                        } else if (g_ascii_strcasecmp(name, "EMAIL") == 0) {
                                rfc6350_unescape(value);
-                                libbalsa_address_add_addr(address, value);
+                                libbalsa_address_append_addr(address, value);
                        } else {
                                /* ignore any other items */
                        }
diff --git a/src/store-address.c b/src/store-address.c
index 0f4a4e706..6eaffe48e 100644
--- a/src/store-address.c
+++ b/src/store-address.c
@@ -388,12 +388,12 @@ store_address_add_address(StoreAddressInfo * info,
             InternetAddress *member_address =
                 internet_address_list_get_address(members, j);
             if (INTERNET_ADDRESS_IS_MAILBOX(member_address))
-                libbalsa_address_add_addr
+                libbalsa_address_append_addr
                     (address, INTERNET_ADDRESS_MAILBOX(member_address)->addr);
         }
-        libbalsa_address_add_addr(address, INTERNET_ADDRESS_MAILBOX(ia)->addr);
+        libbalsa_address_append_addr(address, INTERNET_ADDRESS_MAILBOX(ia)->addr);
     } else {
-        libbalsa_address_add_addr(address, INTERNET_ADDRESS_MAILBOX(ia)->addr);
+        libbalsa_address_append_addr(address, INTERNET_ADDRESS_MAILBOX(ia)->addr);
     }
     ew = libbalsa_address_get_edit_widget(address, entries, NULL, NULL);
     g_object_unref(address);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]