less warnings
[apps/madmutt.git] / browser.c
index d4a7157..d111765 100644 (file)
--- a/browser.c
+++ b/browser.c
@@ -12,6 +12,7 @@
 #endif
 
 #include "mutt.h"
+#include "enter.h"
 #include "mx.h"
 #include "mutt_curses.h"
 #include "mutt_menu.h"
@@ -19,6 +20,8 @@
 #include "mapping.h"
 #include "sort.h"
 #include "browser.h"
+#include "attach.h"
+
 #ifdef USE_IMAP
 #include "imap.h"
 #include "imap/mx_imap.h"
@@ -46,7 +49,7 @@ static struct mapping_t FolderHelp[] = {
   {N_("Chdir"), OP_CHANGE_DIRECTORY},
   {N_("Mask"), OP_ENTER_MASK},
   {N_("Help"), OP_HELP},
-  {NULL}
+  {NULL, OP_NULL}
 };
 
 #ifdef USE_NNTP
@@ -58,7 +61,7 @@ static struct mapping_t FolderNewsHelp[] = {
   {N_("Catchup"), OP_CATCHUP},
   {N_("Mask"), OP_ENTER_MASK},
   {N_("Help"), OP_HELP},
-  {NULL}
+  {NULL, OP_NULL}
 };
 #endif
 
@@ -164,8 +167,8 @@ static const char *folder_format_str (char *dest, size_t destlen, char op,
                                       const char *elsestring,
                                       unsigned long data, format_flag flags)
 {
-  char fn[SHORT_STRING], tmp[SHORT_STRING], permission[11];
-  char date[16], *t_fmt;
+  char fn[SHORT_STRING], tmp[SHORT_STRING], permission[11], date[16];
+  const char *t_fmt;
   time_t tnow;
   FOLDER *folder = (FOLDER *) data;
   struct passwd *pw;
@@ -194,7 +197,7 @@ static const char *folder_format_str (char *dest, size_t destlen, char op,
 
   case 'f':
     {
-      char *s;
+      const char *s;
 
 #ifdef USE_IMAP
       if (folder->ff->imap)
@@ -484,6 +487,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state,
     for (tmp = news->list; tmp; tmp = tmp->next) {
       if (!(data = (NNTP_DATA *) tmp->data))
         continue;
+      nntp_sync_sidebar (data);
       if (prefix && *prefix && strncmp (prefix, data->group,
                                         str_len (prefix)) != 0)
         continue;
@@ -491,6 +495,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state,
         continue;
       add_folder (menu, state, data->group, NULL, data, data->new);
     }
+    sidebar_draw (CurrentMenu);
   }
   else
 #endif /* USE_NNTP */
@@ -573,14 +578,14 @@ static int examine_mailboxes (MUTTMENU * menu, struct browser_state *state)
     init_state (state, menu);
 
     for (tmp = news->list; tmp; tmp = tmp->next) {
-      if ((data = (NNTP_DATA *) tmp->data) != NULL && (data->new ||
-                                                       (data->subscribed
-                                                        &&
-                                                        (!option
-                                                         (OPTSHOWONLYUNREAD)
-                                                         || data->unread))))
+      if ((data = (NNTP_DATA*) tmp->data) == NULL)
+        continue;
+      nntp_sync_sidebar (data);
+      if ((data->new || (data->subscribed && 
+                         (!option (OPTSHOWONLYUNREAD)|| data->unread))))
         add_folder (menu, state, data->group, NULL, data, data->new);
     }
+    sidebar_draw (CurrentMenu);
   }
   else
 #endif
@@ -816,6 +821,7 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files,
       init_state (&state, NULL);
       state.imap_browse = 1;
       imap_browse (LastDir, &state);
+      browser_sort (&state);
     }
 #endif
   }
@@ -951,6 +957,7 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files,
             init_state (&state, NULL);
             state.imap_browse = 1;
             imap_browse (LastDir, &state);
+            browser_sort (&state);
             menu->data = state.entry;
           }
           else
@@ -1049,6 +1056,7 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files,
         init_state (&state, NULL);
         state.imap_browse = 1;
         imap_browse (LastDir, &state);
+        browser_sort (&state);
         menu->data = state.entry;
         menu->current = 0;
         menu->top = 0;
@@ -1068,6 +1076,7 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files,
           init_state (&state, NULL);
           state.imap_browse = 1;
           imap_browse (LastDir, &state);
+          browser_sort (&state);
           menu->data = state.entry;
           menu->current = 0;
           menu->top = 0;
@@ -1142,6 +1151,7 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files,
           init_state (&state, NULL);
           state.imap_browse = 1;
           imap_browse (LastDir, &state);
+          browser_sort (&state);
           menu->data = state.entry;
           menu->current = 0;
           menu->top = 0;
@@ -1213,6 +1223,7 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files,
             init_state (&state, NULL);
             state.imap_browse = 1;
             imap_browse (LastDir, &state);
+            browser_sort (&state);
             menu->data = state.entry;
             init_menu (&state, menu, title, sizeof (title), buffy);
           }
@@ -1297,6 +1308,7 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files,
         init_state (&state, NULL);
         state.imap_browse = 1;
         imap_browse (LastDir, &state);
+        browser_sort (&state);
         menu->data = state.entry;
       }
 #endif
@@ -1306,6 +1318,8 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files,
       break;
 
     case OP_BUFFY_LIST:
+      if (option (OPTFORCEBUFFYCHECK))
+        buffy_check (1);
       buffy_list ();
       break;