# include "config.h"
#endif
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <stdlib.h>
+
#include <lib-lib/mem.h>
#include <lib-lib/str.h>
#include <lib-lib/macros.h>
#include <lib-lib/file.h>
#include <lib-lib/mapping.h>
+#include <lib-sys/unix.h>
+
#include <lib-mime/mime.h>
+#include <lib-ui/curses.h>
+#include <lib-ui/enter.h>
+#include <lib-ui/menu.h>
+
#include "mutt.h"
-#include "enter.h"
-#include "mutt_curses.h"
+#include "alias.h"
#include "mutt_idna.h"
-#include "mutt_menu.h"
-#include "rfc1524.h"
#include "attach.h"
#include "recvattach.h"
#include "sort.h"
#include "nntp.h"
#endif
-
-#include <errno.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <stdlib.h>
-
static const char *There_are_no_attachments = N_("There are no attachments.");
#define CHECK_COUNT if (idxlen == 0) { mutt_error _(There_are_no_attachments); break; }
M_FORMAT_STAT_FILE | M_FORMAT_ARROWCURSOR);
}
-#include "mutt_crypt.h"
+#include <lib-crypt/crypt.h>
static void redraw_crypt_lines (HEADER * msg)
{
#ifdef MIXMASTER
-static void redraw_mix_line (LIST * chain)
+static void redraw_mix_line (string_list_t * chain)
{
int c;
const char *t;
static int edit_address_list (int line, address_t ** addr)
{
char buf[HUGE_STRING] = ""; /* needs to be large for alias expansion */
- char *err = NULL;
+ const char *err = NULL;
mutt_addrlist_to_local (*addr);
rfc822_write_address (buf, sizeof (buf), *addr, 0);
if (mutt_get_field (Prompts[line - 1], buf, sizeof (buf), M_ALIAS) == 0) {
- address_delete (addr);
+ address_list_wipe(addr);
*addr = mutt_parse_adrlist (*addr, buf);
*addr = mutt_expand_aliases (*addr);
}
static unsigned long cum_attachs_size (MUTTMENU * menu)
{
- size_t s;
+ ssize_t s;
unsigned short i;
ATTACHPTR **idx = menu->data;
CONTENT *info;
* help when modifying this function.
*/
-static const char *compose_format_str (char *buf, size_t buflen, char op,
+static const char *compose_format_str (char *buf, ssize_t buflen, char op,
const char *src, const char *prefix,
const char *ifstring,
const char *elsestring,
*/
int mutt_compose_menu (HEADER * msg, /* structure for new message */
char *fcc, /* where to save a copy of the message */
- size_t fcclen, HEADER * cur)
+ ssize_t fcclen, HEADER * cur)
{ /* current message */
char helpstr[SHORT_STRING];
char buf[LONG_STRING];
mutt_message_hook (NULL, msg, M_SEND2HOOK);
break;
case OP_COMPOSE_EDIT_MESSAGE:
- if (Editor && (m_strcmp("builtin", Editor) != 0)
- && !option (OPTEDITHDRS)) {
+ if (Editor && !option (OPTEDITHDRS)) {
mutt_edit_file (Editor, msg->content->filename);
mutt_update_encoding (msg->content);
menu->redraw = REDRAW_CURRENT | REDRAW_STATUS;
}
/* fall through */
case OP_COMPOSE_EDIT_HEADERS:
- if (m_strcmp("builtin", Editor) != 0 &&
- (op == OP_COMPOSE_EDIT_HEADERS ||
+ if ((op == OP_COMPOSE_EDIT_HEADERS ||
(op == OP_COMPOSE_EDIT_MESSAGE && option (OPTEDITHDRS)))) {
const char *tag = NULL;
const char *err = NULL;
p_delete(&err);
}
}
- else {
- /* this is grouped with OP_COMPOSE_EDIT_HEADERS because the
- attachment list could change if the user invokes ~v to edit
- the message with headers, in which we need to execute the
- code below to regenerate the index array */
- mutt_builtin_editor (msg->content->filename, msg, cur);
- }
mutt_update_encoding (msg->content);
/* attachments may have been added */
else
#endif
mutt_expand_path (fname, sizeof (fname));
-#ifdef USE_IMAP
if (mx_get_magic (fname) != M_IMAP)
-#endif
if (mx_get_magic (fname) != M_POP)
#ifdef USE_NNTP
if (mx_get_magic (fname) != M_NNTP && !option (OPTNEWS))