aboutsummaryrefslogtreecommitdiff
path: root/libsylph
diff options
context:
space:
mode:
Diffstat (limited to 'libsylph')
-rw-r--r--libsylph/utils.c16
-rw-r--r--libsylph/utils.h3
2 files changed, 19 insertions, 0 deletions
diff --git a/libsylph/utils.c b/libsylph/utils.c
index 95bc237f..0ad23c3a 100644
--- a/libsylph/utils.c
+++ b/libsylph/utils.c
@@ -822,6 +822,22 @@ gchar *normalize_address_field(const gchar *str)
return ret_str;
}
+gboolean address_equal(const gchar *addr1, const gchar *addr2)
+{
+ gchar *addr1_, *addr2_;
+
+ if (!addr1 || !addr2)
+ return FALSE;
+
+ Xstrdup_a(addr1_, addr1, return FALSE);
+ Xstrdup_a(addr2_, addr2, return FALSE);
+
+ extract_address(addr1_);
+ extract_address(addr2_);
+
+ return strcmp(addr1_, addr2_) == 0;
+}
+
GSList *address_list_append_orig(GSList *addr_list, const gchar *str)
{
const gchar *p = str, *q;
diff --git a/libsylph/utils.h b/libsylph/utils.h
index bc704e8e..8ef85896 100644
--- a/libsylph/utils.h
+++ b/libsylph/utils.h
@@ -276,6 +276,9 @@ void extract_list_id_str (gchar *str);
gchar *normalize_address_field (const gchar *str);
+gboolean address_equal (const gchar *addr1,
+ const gchar *addr2);
+
GSList *address_list_append_orig (GSList *addr_list,
const gchar *str);
GSList *address_list_append (GSList *addr_list,