###############################################################################
# libemail
LIBEMAIL= libemail.a
-LIBEMAILOBJS= email/address.o email/attach.o email/body.o \
- email/email_globals.o email/envelope.o email/from.o email/group.o \
- email/email.o email/idna.o email/mime.o email/parameter.o \
+LIBEMAILOBJS= email/attach.o email/body.o \
+ email/email_globals.o email/envelope.o email/from.o \
+ email/email.o email/mime.o email/parameter.o \
email/parse.o email/rfc2047.o email/rfc2231.o email/tags.o \
email/thread.o email/url.o
CLEANFILES+= $(LIBEMAIL) $(LIBEMAILOBJS)
MUTTLIBS+= $(LIBEMAIL)
ALLOBJS+= $(LIBEMAILOBJS)
+###############################################################################
+# libaddress
+LIBADDRESS= libaddress.a
+LIBADDRESSOBJS= address/address.o address/group.o address/idna.o
+
+CLEANFILES+= $(LIBADDRESS) $(LIBADDRESSOBJS)
+MUTTLIBS+= $(LIBADDRESS)
+ALLOBJS+= $(LIBADDRESSOBJS)
+
###############################################################################
# libmutt
LIBMUTT= libmutt.a
$(PWD)/mutt:
$(MKDIR_P) $(PWD)/mutt
+# libaddress
+$(LIBADDRESS): $(PWD)/address $(LIBADDRESSOBJS)
+ $(AR) cr $@ $(LIBADDRESSOBJS)
+ $(RANLIB) $@
+$(PWD)/address:
+ $(MKDIR_P) $(PWD)/address
+
# libemail
$(LIBEMAIL): $(PWD)/email $(LIBEMAILOBJS)
$(AR) cr $@ $(LIBEMAILOBJS)
cmp -s $@.tmp $@ || mv $@.tmp $@; \
rm -f $@.tmp
-hcache/hcversion.h: $(SRCDIR)/email/address.h \
+hcache/hcversion.h: $(SRCDIR)/address/address.h \
$(SRCDIR)/email/body.h \
$(SRCDIR)/email/email.h \
$(SRCDIR)/email/envelope.h \
$(SRCDIR)/hcache/hcachever.sh
$(MKDIR_P) $(PWD)/hcache
( echo '#include "config.h"'; \
- echo '#include "email/address.h"'; \
+ echo '#include "address/address.h"'; \
echo '#include "email/body.h"'; \
echo '#include "email/email.h"'; \
echo '#include "email/envelope.h"'; \
genhtml -o lcov lcov.info
# Tests for the config code
-config-test: libmutt.a libemail.a libconfig.a
+config-test: libmutt.a libemail.a libconfig.a libaddress.a
##############################################################################
# include generated dependency files
#include "config/lib.h"
#include "email/lib.h"
#include "mutt.h"
+#include "address/lib.h"
#include "alias.h"
#include "curs_lib.h"
#include "format_flags.h"
*/
/**
- * @page email_address Representation of an email address
+ * @page addr_address Representation of an email address
*
* Representation of an email address
*/
*/
/**
- * @page email_group Handling for email address groups
+ * @page addr_group Handling for email address groups
*
* Handling for email address groups
*/
#include "config.h"
#include <stdbool.h>
#include <stdlib.h>
-#include "email/address.h"
#include "group.h"
+#include "address/lib.h"
static struct Hash *Groups = NULL;
*/
/**
- * @page email_idna Handling of international domain names
+ * @page addr_idna Handling of international domain names
*
* Handling of international domain names
*/
--- /dev/null
+/**
+ * @file
+ * Email Address Handling
+ *
+ * @authors
+ * Copyright (C) 2019 Richard Russon <rich@flatcap.org>
+ *
+ * @copyright
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 2 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @page address ADDRESS: Email Address Handling
+ *
+ * Email Address Handling
+ *
+ * | File | Description |
+ * | :--------------------- | :----------------------- |
+ * | address/address.c | @subpage addr_address |
+ * | address/group.c | @subpage addr_group |
+ * | address/idna.c | @subpage addr_idna |
+ */
+
+#ifndef MUTT_ADDRESS_LIB_H
+#define MUTT_ADDRESS_LIB_H
+
+#include "address.h"
+#include "group.h"
+#include "idna2.h"
+
+#endif /* MUTT_ADDRESS_LIB_H */
#include "mutt.h"
#include "alias.h"
#include "addrbook.h"
+#include "address/lib.h"
#include "curs_lib.h"
#include "globals.h"
#include "hdrline.h"
#include "email/lib.h"
#include "conn/conn.h"
#include "mutt.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "copy.h"
#include "conn/conn.h"
#include "mutt.h"
#include "compose.h"
+#include "address/lib.h"
#include "alias.h"
#include "browser.h"
#include "commands.h"
#include "mutt/mutt.h"
#include "email/lib.h"
#include "address.h"
+#include "address/lib.h"
#include "set.h"
#include "types.h"
#include "mutt/mutt.h"
#include "email/lib.h"
#include "conn/connaccount.h"
+#include "address/lib.h"
#include "conn_globals.h"
#include "connection.h"
#include "curs_lib.h"
#include "email/lib.h"
#include "mutt.h"
#include "ssl.h"
+#include "address/lib.h"
#include "conn_globals.h"
#include "connaccount.h"
#include "connection.h"
#include "email/lib.h"
#include "mutt.h"
#include "copy.h"
+#include "address/lib.h"
#include "context.h"
#include "globals.h"
#include "handler.h"
#include <sys/stat.h>
#include "mutt/mutt.h"
#include "email/lib.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "curs_lib.h"
#include <stdbool.h>
#include "mutt/mutt.h"
#include "envelope.h"
-#include "address.h"
+#include "address/lib.h"
/**
* mutt_env_new - Create a new Envelope
*
* | File | Description |
* | :--------------------- | :----------------------- |
- * | email/address.c | @subpage email_address |
* | email/attach.c | @subpage email_attach |
* | email/body.c | @subpage email_body |
* | email/email_globals.c | @subpage email_globals |
* | email/envelope.c | @subpage email_envelope |
* | email/from.c | @subpage email_from |
- * | email/group.c | @subpage email_group |
* | email/email.c | @subpage email_email |
- * | email/idna.c | @subpage email_idna |
* | email/mime.c | @subpage email_mime |
* | email/parameter.c | @subpage email_parameter |
* | email/parse.c | @subpage email_parse |
#ifndef MUTT_EMAIL_LIB_H
#define MUTT_EMAIL_LIB_H
-#include "address.h"
#include "attach.h"
#include "body.h"
#include "content.h"
#include "email_globals.h"
#include "envelope.h"
#include "from.h"
-#include "group.h"
-#include "idna2.h"
#include "mime.h"
#include "parameter.h"
#include "parse.h"
#include "mutt/mutt.h"
#include "mutt.h"
#include "parse.h"
-#include "address.h"
+#include "address/lib.h"
#include "body.h"
#include "email.h"
#include "email_globals.h"
#include <string.h>
#include "mutt/mutt.h"
#include "rfc2047.h"
-#include "address.h"
+#include "address/lib.h"
#include "email_globals.h"
#include "envelope.h"
#include "mime.h"
#include <sys/types.h>
#include "mutt/mutt.h"
#include "email/lib.h"
+#include "address/lib.h"
#include "globals.h"
#include "hcache.h"
#include "email/lib.h"
#include "mutt.h"
#include "hdrline.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "curs_lib.h"
#include "email/lib.h"
#include "mutt.h"
#include "hook.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "globals.h"
#include "mutt.h"
#include "init.h"
#include "account.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "filter.h"
#include "conn/conn.h"
#include "mutt.h"
#include "addrbook.h"
+#include "address/lib.h"
#include "bcache.h"
#include "browser.h"
#include "color.h"
#include "mailbox.h"
#include "maildir/lib.h"
#include "main.h"
-#include "mutt_menu.h"
#include "mutt_account.h"
#include "mutt_commands.h"
#include "mutt_history.h"
#include "mutt_logging.h"
+#include "mutt_menu.h"
#include "mutt_thread.h"
#include "muttlib.h"
#include "mx.h"
#include "conn/conn.h"
#include "mutt.h"
#include "account.h"
+#include "address/lib.h"
#include "alias.h"
#include "browser.h"
#include "color.h"
#include "mutt.h"
#include "mbox.h"
#include "account.h"
+#include "address/lib.h"
#include "context.h"
#include "copy.h"
#include "globals.h"
#include "conn/conn.h"
#include "mutt.h"
#include "muttlib.h"
+#include "address/lib.h"
#include "alias.h"
#include "curs_lib.h"
#include "filter.h"
#include "mutt.h"
#include "mx.h"
#include "account.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "copy.h"
#include "config/lib.h"
#include "email/lib.h"
#include "mutt.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "copy.h"
#include "config/lib.h"
#include "email/lib.h"
#include "mutt.h"
+#include "address/lib.h"
#include "alias.h"
#include "crypt.h"
#include "curs_lib.h"
#include "config/lib.h"
#include "email/lib.h"
#include "mutt.h"
+#include "address/lib.h"
#include "crypt.h"
#include "cryptglue.h"
#include "curs_lib.h"
#include <unistd.h>
#include "mutt/mutt.h"
#include "email/lib.h"
+#include "address/lib.h"
#include "filter.h"
#include "format_flags.h"
#include "globals.h"
#include "email/lib.h"
#include "mutt.h"
#include "pgpkey.h"
+#include "address/lib.h"
#include "crypt.h"
#include "curs_lib.h"
#include "filter.h"
#include "config/lib.h"
#include "email/lib.h"
#include "mutt.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "copy.h"
#include "conn/conn.h"
#include "mutt.h"
#include "pattern.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "copy.h"
#include "mutt/mutt.h"
#include "email/lib.h"
#include "conn/conn.h"
+#include "address/lib.h"
#include "mutt_account.h"
#include "mutt_logging.h"
#include "mutt_socket.h"
#include "mutt/mutt.h"
#include "email/lib.h"
#include "mutt.h"
+#include "address/lib.h"
#include "alias.h"
#include "curs_lib.h"
#include "filter.h"
#include "config/lib.h"
#include "email/lib.h"
#include "mutt.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "copy.h"
#include "mutt/mutt.h"
#include "email/lib.h"
#include "mutt.h"
+#include "address/lib.h"
#include "curs_lib.h"
#include "filter.h"
#include "format_flags.h"
#include "email/lib.h"
#include "mutt.h"
#include "send.h"
+#include "address/lib.h"
#include "alias.h"
#include "compose.h"
#include "context.h"
#include "email/lib.h"
#include "mutt.h"
#include "sendlib.h"
+#include "address/lib.h"
#include "context.h"
#include "copy.h"
#include "curs_lib.h"
#include "email/lib.h"
#include "conn/conn.h"
#include "mutt.h"
+#include "address/lib.h"
#include "globals.h"
#include "mutt_account.h"
#include "mutt_socket.h"
#include "mutt/mutt.h"
#include "email/lib.h"
#include "sort.h"
+#include "address/lib.h"
#include "alias.h"
#include "context.h"
#include "globals.h"
#define TEST_NO_MAIN
#include "acutest.h"
-#include "email/address.h"
+#include "address/lib.h"
#include "mutt/memory.h"
#include <string.h>
#include "mutt/mutt.h"
#include "config/common.h"
#include "config/lib.h"
-#include "email/address.h"
+#include "address/lib.h"
static struct Address *VarApple;
static struct Address *VarBanana;
#include <unistd.h>
#include "mutt/mutt.h"
#include "email/lib.h"
+#include "address/lib.h"
#include "mutt_curses.h"
#include "ncrypt/crypt_gpgme.h"
#ifdef USE_INOTIFY