license statements.
[apps/madmutt.git] / curs_main.c
index 4d58326..fe65287 100644 (file)
 # include "config.h"
 #endif
 
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/macros.h>
+
 #include "mutt.h"
 #include "mutt_curses.h"
 #include "mx.h"
@@ -45,9 +49,6 @@
 #include "mutt_sasl.h"
 #endif
 
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
 #include "lib/debug.h"
 
 #include <ctype.h>
@@ -110,6 +111,7 @@ static const char *No_visible = N_("No visible messages.");
 #define CURHDR Context->hdrs[Context->v2r[menu->current]]
 #define OLDHDR Context->hdrs[Context->v2r[menu->oldcurrent]]
 #define UNREAD(h) mutt_thread_contains_unread (Context, h)
+#define SW              (option(OPTMBOXPANE)?SidebarWidth:0)
 
 extern const char *ReleaseDate;
 extern size_t UngetCount;
@@ -297,9 +299,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];
   }
@@ -331,7 +331,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);
     }
   }
@@ -385,7 +385,7 @@ struct mapping_t IndexHelp[] = {
   {N_("Reply"), OP_REPLY},
   {N_("Group"), OP_GROUP_REPLY},
   {N_("Help"), OP_HELP},
-  {NULL}
+  {NULL, OP_NULL}
 };
 
 #ifdef USE_NNTP
@@ -398,7 +398,7 @@ struct mapping_t IndexNewsHelp[] = {
   {N_("Followup"), OP_FOLLOWUP},
   {N_("Catchup"), OP_CATCHUP},
   {N_("Help"), OP_HELP},
-  {NULL}
+  {NULL, OP_NULL}
 };
 #endif
 
@@ -483,7 +483,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);
@@ -561,13 +561,13 @@ int mutt_index_menu (void)
       }
 
       if (menu->redraw & REDRAW_STATUS) {
-        DrawFullLine = 1;
         menu_status_line (buf, sizeof (buf), menu, NONULL (Status));
-        DrawFullLine = 0;
         CLEARLINE (option (OPTSTATUSONTOP) ? 0 : LINES - 2);
+        sidebar_draw_frames();
         SETCOLOR (MT_COLOR_STATUS);
         BKGDSET (MT_COLOR_STATUS);
-        mutt_paddstr (COLS, buf);
+        move(option (OPTSTATUSONTOP) ? 0 : LINES - 2,SW);
+        mutt_paddstr (COLS-SW, buf);
         SETCOLOR (MT_COLOR_NORMAL);
         BKGDSET (MT_COLOR_NORMAL);
         sidebar_set_buffystats (Context);
@@ -965,8 +965,8 @@ int mutt_index_menu (void)
             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)
@@ -1153,7 +1153,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) {
@@ -1256,7 +1256,7 @@ int mutt_index_menu (void)
           menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
           break;
         }
-        mem_free (&Context);
+        p_delete(&Context);
       }
 
       mutt_sleep (0);
@@ -1339,7 +1339,7 @@ int mutt_index_menu (void)
       {
         if (Context) {
           mx_fastclose_mailbox (Context);
-          mem_free (&Context);
+          p_delete(&Context);
         }
         done = 1;
       }