X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=curs_main.c;h=4341a71a94997eda147d56d63c492a5c851ba1b3;hp=ff7b8e30ad60fd18fbcb15a04c31f6458c361099;hb=d5d56308b49c3f157a17125415312f0c13e1e25b;hpb=c25bc063f35aaad6938c2022dae7a283346c2769 diff --git a/curs_main.c b/curs_main.c index ff7b8e3..4341a71 100644 --- a/curs_main.c +++ b/curs_main.c @@ -14,11 +14,17 @@ # include "config.h" #endif +#include +#include +#include +#include + +#include + #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" @@ -27,15 +33,9 @@ #include "thread.h" #include "xterm.h" -#ifdef USE_POP -#include "pop.h" -#endif - -#ifdef USE_IMAP -#include "imap_private.h" -#endif +#include -#include "mutt_crypt.h" +#include #ifdef USE_NNTP #include "nntp.h" @@ -45,9 +45,6 @@ #include "mutt_sasl.h" #endif -#include "lib/mem.h" -#include "lib/intl.h" -#include "lib/str.h" #include "lib/debug.h" #include @@ -112,7 +109,6 @@ static const char *No_visible = N_("No visible messages."); #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) @@ -261,7 +257,7 @@ static int mx_toggle_write (CONTEXT * ctx) 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 */ @@ -298,9 +294,7 @@ static void update_index (MUTTMENU * menu, CONTEXT * ctx, int check, /* 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]; } @@ -311,13 +305,13 @@ static void update_index (MUTTMENU * menu, CONTEXT * ctx, int check, /* 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); } @@ -332,7 +326,7 @@ static void update_index (MUTTMENU * menu, CONTEXT * ctx, int check, mutt_uncollapse_thread (Context, h); } } - mem_free (&save_new); + p_delete(&save_new); mutt_set_virtual (Context); } } @@ -421,14 +415,14 @@ int mutt_index_menu (void) 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, @@ -446,7 +440,7 @@ int mutt_index_menu (void) sidebar_set_current (Context->path); } - FOREVER { + for (;;) { tag = 0; /* clear the tag-prefix */ menu->max = Context ? Context->vcount : 0; @@ -474,9 +468,7 @@ int mutt_index_menu (void) * modified underneath us.) */ -#ifdef USE_IMAP imap_allow_reopen (Context); -#endif index_hint = (Context->vcount && menu->current >= 0 && menu->current < Context->vcount) ? CURHDR->index : 0; @@ -484,7 +476,7 @@ int mutt_index_menu (void) 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); @@ -517,10 +509,8 @@ int mutt_index_menu (void) } } -#ifdef USE_IMAP imap_keepalive (); imap_disallow_reopen (Context); -#endif if (!attach_msg) { /* check for new mail in the incoming folders */ @@ -768,7 +758,7 @@ int mutt_index_menu (void) 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); @@ -814,7 +804,7 @@ int mutt_index_menu (void) 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; @@ -823,7 +813,7 @@ int mutt_index_menu (void) 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; } } @@ -915,14 +905,12 @@ int mutt_index_menu (void) menu->redraw = REDRAW_INDEX | REDRAW_STATUS; break; -#ifdef USE_POP case OP_MAIN_FETCH_MAIL: CHECK_ATTACH; pop_fetch_mail (); menu->redraw = REDRAW_FULL; break; -#endif /* USE_POP */ case OP_HELP: @@ -936,11 +924,11 @@ int mutt_index_menu (void) 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; @@ -952,22 +940,22 @@ int mutt_index_menu (void) && 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) @@ -996,7 +984,7 @@ int mutt_index_menu (void) case OP_QUIT: - close = op; + closed = op; if (attach_msg) { done = 1; break; @@ -1107,12 +1095,10 @@ int mutt_index_menu (void) * The following operations can be performed inside of the pager. */ -#ifdef USE_IMAP case OP_MAIN_IMAP_FETCH: if (Context->magic == M_IMAP) imap_check_mailbox (Context, &index_hint, 1); break; -#endif case OP_MAIN_SYNC_FOLDER: @@ -1124,7 +1110,7 @@ int mutt_index_menu (void) CHECK_READONLY; { int oldvcount = Context->vcount; - int oldcount = Context->msgcount; + oldcount = Context->msgcount; int dcount = 0; int check; @@ -1154,7 +1140,7 @@ int mutt_index_menu (void) /* 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) { @@ -1203,13 +1189,13 @@ int mutt_index_menu (void) #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) { @@ -1235,18 +1221,15 @@ int mutt_index_menu (void) 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) { @@ -1257,7 +1240,7 @@ int mutt_index_menu (void) menu->redraw = REDRAW_INDEX | REDRAW_STATUS; break; } - mem_free (&Context); + p_delete(&Context); } mutt_sleep (0); @@ -1328,7 +1311,7 @@ int mutt_index_menu (void) case OP_EXIT: - close = op; + closed = op; if (menu->menu == MENU_MAIN && attach_msg) { done = 1; break; @@ -1340,7 +1323,7 @@ int mutt_index_menu (void) { if (Context) { mx_fastclose_mailbox (Context); - mem_free (&Context); + p_delete(&Context); } done = 1; } @@ -1514,9 +1497,6 @@ int mutt_index_menu (void) case OP_DECRYPT_COPY: case OP_DECRYPT_SAVE: - if (!WithCrypto) - break; - /* fall thru */ case OP_COPY_MESSAGE: case OP_SAVE: case OP_DECODE_COPY: @@ -2073,8 +2053,6 @@ int mutt_index_menu (void) break; case OP_MAIL_KEY: - if (!(WithCrypto & APPLICATION_PGP)) - break; CHECK_ATTACH; ci_send_message (SENDKEY, NULL, NULL, NULL, NULL); menu->redraw = REDRAW_FULL; @@ -2082,8 +2060,6 @@ int mutt_index_menu (void) case OP_EXTRACT_KEYS: - if (!WithCrypto) - break; CHECK_MSGCOUNT; CHECK_VISIBLE; crypt_extract_keys_from_messages (tag ? NULL : CURHDR); @@ -2092,8 +2068,6 @@ int mutt_index_menu (void) case OP_CHECK_TRADITIONAL: - if (!(WithCrypto & APPLICATION_PGP)) - break; CHECK_MSGCOUNT; CHECK_VISIBLE; if (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED)) @@ -2110,14 +2084,12 @@ int mutt_index_menu (void) CHECK_MSGCOUNT; CHECK_VISIBLE; mutt_pipe_message (tag ? NULL : CURHDR); -#ifdef USE_IMAP /* in an IMAP folder index with imap_peek=no, piping could change * * new or old messages status to read. Redraw what's needed. */ if (Context->magic == M_IMAP && !option (OPTIMAPPEEK)) { menu->redraw = (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS; } -#endif MAYBE_REDRAW (menu->redraw); break; @@ -2126,14 +2098,12 @@ int mutt_index_menu (void) CHECK_MSGCOUNT; CHECK_VISIBLE; mutt_print_message (tag ? NULL : CURHDR); -#ifdef USE_IMAP /* in an IMAP folder index with imap_peek=no, piping could change * * new or old messages status to read. Redraw what's needed. */ if (Context->magic == M_IMAP && !option (OPTIMAPPEEK)) { menu->redraw = (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS; } -#endif break; case OP_MAIN_READ_THREAD: @@ -2197,7 +2167,7 @@ int mutt_index_menu (void) 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) { @@ -2374,10 +2344,8 @@ int mutt_index_menu (void) } if (!attach_msg) { -#ifdef USE_IMAP /* Close all open IMAP connections */ imap_logout_all (); -#endif #ifdef USE_NNTP /* Close all open NNTP connections */ nntp_logout_all (); @@ -2388,7 +2356,7 @@ int mutt_index_menu (void) } mutt_menuDestroy (&menu); - return (close); + return (closed); } void mutt_set_header_color (CONTEXT * ctx, HEADER * curhdr)