# include "config.h"
#endif
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/macros.h>
+#include <lib-lib/mapping.h>
+
#include "mutt.h"
#include "mutt_curses.h"
#include "mx.h"
#include "mutt_menu.h"
-#include "mapping.h"
#include "sort.h"
#include "recvattach.h"
#include "buffy.h"
#include "mutt_sasl.h"
#endif
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
#include "lib/debug.h"
#include <ctype.h>
#define UNREAD(h) mutt_thread_contains_unread (Context, h)
#define SW (option(OPTMBOXPANE)?SidebarWidth:0)
-extern const char *ReleaseDate;
extern size_t UngetCount;
void index_make_entry (char *s, size_t l, MUTTMENU * menu, int num)
return 0;
}
-static void update_index (MUTTMENU * menu, CONTEXT * ctx, int check,
+static void update_index (MUTTMENU * menu, CONTEXT * ctx __attribute__ ((unused)), int check,
int oldcount, int index_hint)
{
/* store pointers to the newly added messages */
/* save the list of new messages */
if (oldcount && check != M_REOPENED && ((Sort & SORT_MASK) == SORT_THREADS)) {
- save_new =
- (HEADER **) mem_malloc (sizeof (HEADER *) *
- (Context->msgcount - oldcount));
+ save_new = p_new(HEADER*, Context->msgcount - oldcount);
for (j = oldcount; j < Context->msgcount; j++)
save_new[j - oldcount] = Context->hdrs[j];
}
/* uncollapse threads with new mail */
if ((Sort & SORT_MASK) == SORT_THREADS) {
if (check == M_REOPENED) {
- THREAD *h, *j;
+ THREAD *h, *c;
Context->collapsed = 0;
for (h = Context->tree; h; h = h->next) {
- for (j = h; !j->message; j = j->child);
- mutt_uncollapse_thread (Context, j->message);
+ for (c = h; !c->message; c = c->child);
+ mutt_uncollapse_thread (Context, c->message);
}
mutt_set_virtual (Context);
}
mutt_uncollapse_thread (Context, h);
}
}
- mem_free (&save_new);
+ p_delete(&save_new);
mutt_set_virtual (Context);
}
}
char *cp; /* temporary variable. */
int index_hint; /* used to restore cursor position */
int do_buffy_notify = 1;
- int close = 0; /* did we OP_QUIT or OP_EXIT out of this menu? */
+ int closed = 0; /* did we OP_QUIT or OP_EXIT out of this menu? */
int attach_msg = option (OPTATTACHMSG);
menu = mutt_new_menu ();
menu->menu = MENU_MAIN;
menu->offset = 1;
menu->pagelen = LINES - 3;
- menu->make_entry = index_make_entry;
+ menu->make_entry = (void *) index_make_entry;
menu->color = index_color;
menu->current = ci_first_message ();
menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_MAIN,
sidebar_set_current (Context->path);
}
- FOREVER {
+ for (;;) {
tag = 0; /* clear the tag-prefix */
menu->max = Context ? Context->vcount : 0;
if ((check = mx_check_mailbox (Context, &index_hint, 0)) < 0) {
if (!Context->path) {
/* fatal error occurred */
- mem_free (&Context);
+ p_delete(&Context);
menu->redraw = REDRAW_FULL;
}
set_option (OPTSEARCHINVALID);
break;
}
- strfcpy (buf, ref->data, sizeof (buf));
+ m_strcpy(buf, sizeof(buf), ref->data);
}
if (!Context->id_hash)
Context->id_hash = mutt_make_id_hash (Context);
if (!Context->id_hash)
Context->id_hash = mutt_make_id_hash (Context);
- strfcpy (buf, CURHDR->env->message_id, sizeof (buf));
+ m_strcpy(buf, sizeof(buf), CURHDR->env->message_id);
if (op == OP_RECONSTRUCT_THREAD) {
LIST *ref = CURHDR->env->references;
nntp_check_msgid (Context, ref->data);
/* the last msgid in References is the root message */
if (!ref->next)
- strfcpy (buf, ref->data, sizeof (buf));
+ m_strcpy(buf, sizeof(buf), ref->data);
ref = ref->next;
}
}
mutt_message (_("No limit pattern is in effect."));
else {
- char buf[STRING];
+ char buffer[STRING];
/* i18n: ask for a limit to apply */
- snprintf (buf, sizeof (buf), _("Limit: %s"), Context->pattern);
- mutt_message ("%s", buf);
+ snprintf (buffer, sizeof (buffer), _("Limit: %s"), Context->pattern);
+ mutt_message ("%s", buffer);
}
break;
&& menu->current <
Context->vcount) ? CURHDR->index : -1;
if (op == OP_TOGGLE_READ) {
- char buf[LONG_STRING];
+ char buffer[LONG_STRING];
if (!Context->pattern
|| strncmp (Context->pattern, "!~R!~D~s", 8) != 0) {
- snprintf (buf, sizeof (buf), "!~R!~D~s%s",
+ snprintf (buffer, sizeof (buffer), "!~R!~D~s%s",
Context->pattern ? Context->pattern : ".*");
set_option (OPTHIDEREAD);
}
else {
- strfcpy (buf, Context->pattern + 8, sizeof (buf));
+ m_strcpy(buf, sizeof(buf), Context->pattern + 8);
if (!*buf || strncmp (buf, ".*", 2) == 0)
snprintf (buf, sizeof (buf), "~A");
unset_option (OPTHIDEREAD);
}
- mem_free (&Context->pattern);
- Context->pattern = str_dup (buf);
+ p_delete(&Context->pattern);
+ Context->pattern = m_strdup(buf);
}
if ((op == OP_TOGGLE_READ && mutt_pattern_func (M_LIMIT, NULL) == 0) ||
mutt_pattern_func (M_LIMIT, _("Limit to messages matching: ")) == 0)
case OP_QUIT:
- close = op;
+ closed = op;
if (attach_msg) {
done = 1;
break;
CHECK_READONLY;
{
int oldvcount = Context->vcount;
- int oldcount = Context->msgcount;
+ oldcount = Context->msgcount;
int dcount = 0;
int check;
/* check for a fatal error, or all messages deleted */
if (!Context->path)
- mem_free (&Context);
+ p_delete(&Context);
/* if we were in the pager, redisplay the message */
if (menu->menu == MENU_PAGER) {
#endif
{
if (Context && Context->path)
- strncpy (buf, Context->path, sizeof (buf));
+ m_strcpy(buf, sizeof(buf), Context->path);
if (op != OP_SIDEBAR_OPEN)
buffy_next (buf, sizeof (buf));
}
if (op == OP_SIDEBAR_OPEN) {
- strncpy (buf, NONULL(sidebar_get_current ()), sizeof (buf));
+ m_strcpy(buf, sizeof(buf), sidebar_get_current());
}
else if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1) {
if (menu->menu == MENU_PAGER) {
mutt_error (_("%s is not a mailbox."), buf);
break;
}
- str_replace (&CurrentFolder, buf);
+ m_strreplace(&CurrentFolder, buf);
if (Context) {
int check;
#ifdef USE_COMPRESSED
if (Context->compressinfo && Context->realpath)
- str_replace (&LastFolder, Context->realpath);
+ m_strreplace(&LastFolder, Context->realpath);
else
#endif
- str_replace (&LastFolder, Context->path);
+ m_strreplace(&LastFolder, Context->path);
oldcount = Context ? Context->msgcount : 0;
if ((check = mx_close_mailbox (Context, &index_hint)) != 0) {
menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
break;
}
- mem_free (&Context);
+ p_delete(&Context);
}
mutt_sleep (0);
case OP_EXIT:
- close = op;
+ closed = op;
if (menu->menu == MENU_MAIN && attach_msg) {
done = 1;
break;
{
if (Context) {
mx_fastclose_mailbox (Context);
- mem_free (&Context);
+ p_delete(&Context);
}
done = 1;
}
sleep (2);
}
else if (op != OP_FOLLOWUP || !CURHDR->env->followup_to ||
- str_casecmp (CURHDR->env->followup_to, "poster") ||
+ m_strcasecmp(CURHDR->env->followup_to, "poster") ||
query_quadoption (OPT_FOLLOWUPTOPOSTER,
_("Reply by mail as poster prefers?")) !=
M_YES) {
}
mutt_menuDestroy (&menu);
- return (close);
+ return (closed);
}
void mutt_set_header_color (CONTEXT * ctx, HEADER * curhdr)