Use good m_ functions, because it smell like a flower, version 2.
[apps/madmutt.git] / browser.c
index 69f95da..43b1b34 100644 (file)
--- a/browser.c
+++ b/browser.c
@@ -7,45 +7,28 @@
  * please see the file GPL in the top level source directory.
  */
 
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <lib-lib/lib-lib.h>
 
-#include <stdlib.h>
 #include <dirent.h>
-#include <string.h>
-#include <ctype.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <errno.h>
 #include <pwd.h>
 #include <grp.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-ui/curses.h>
 #include <lib-ui/enter.h>
 #include <lib-ui/menu.h>
+#include <lib-ui/sidebar.h>
+#include <lib-mx/mx.h>
 
 #include "mutt.h"
-#include "mx.h"
 #include "buffy.h"
 #include "sort.h"
 #include "browser.h"
 #include "attach.h"
 
 #include <imap/imap.h>
-#include <imap/mx_imap.h>
 #ifdef USE_NNTP
-#include "nntp.h"
+#include <nntp/nntp.h>
 #endif
-#include "sidebar.h"
-
-#include "lib/list.h"
 
 static struct mapping_t FolderHelp[] = {
   {N_("Exit"), OP_EXIT},
@@ -479,8 +462,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state,
       if (!(data = (NNTP_DATA *) tmp->data))
         continue;
       nntp_sync_sidebar (data);
-      if (prefix && *prefix && strncmp (prefix, data->group,
-                                        m_strlen(prefix)) != 0)
+      if (m_strncmp (prefix, data->group, m_strlen(prefix)) != 0)
         continue;
       if (!((regexec (Mask.rx, data->group, 0, NULL, 0) == 0) ^ Mask.not))
         continue;
@@ -490,7 +472,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state,
       add_folder (menu, state, data->group, NULL, data->new);
 #endif
     }
-    sidebar_draw (CurrentMenu);
+    sidebar_draw ();
   }
   else
 #endif /* USE_NNTP */
@@ -533,8 +515,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state,
       if (m_strcmp(de->d_name, ".") == 0)
         continue;               /* we don't need . */
 
-      if (prefix && *prefix
-          && m_strncmp(prefix, de->d_name, m_strlen(prefix)) != 0)
+      if (m_strncmp(prefix, de->d_name, m_strlen(prefix)) != 0)
         continue;
       if (!((regexec (Mask.rx, de->d_name, 0, NULL, 0) == 0) ^ Mask.not))
         continue;
@@ -549,14 +530,14 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state,
 
       i = buffy_lookup (buffer);
 #ifdef USE_NNTP
-      add_folder (menu, state, de->d_name, &s, NULL, i >= 0 ? ((BUFFY*) Incoming->data[i])->new : 0);
+      add_folder (menu, state, de->d_name, &s, NULL, i >= 0 ? Incoming.arr[i]->new : 0);
 #else
-      add_folder (menu, state, de->d_name, &s, i >= 0 ? ((BUFFY*) Incoming->data[i])->new : 0);
+      add_folder (menu, state, de->d_name, &s, i >= 0 ? Incoming.arr[i]->new : 0);
 #endif
     }
     closedir (dp);
   }
-  sidebar_draw (CurrentMenu);
+  sidebar_draw ();
   browser_sort (state);
   return 0;
 }
@@ -584,7 +565,7 @@ static int examine_mailboxes (MUTTMENU * menu, struct browser_state *state)
                          (!option (OPTSHOWONLYUNREAD)|| data->unread))))
         add_folder (menu, state, data->group, NULL, data, data->new);
     }
-    sidebar_draw (CurrentMenu);
+    sidebar_draw ();
   }
   else
 #endif
@@ -592,14 +573,14 @@ static int examine_mailboxes (MUTTMENU * menu, struct browser_state *state)
     int i = 0;
     BUFFY* tmp;
 
-    if (!Incoming)
+    if (!Incoming.len)
       return (-1);
     buffy_check (0);
 
     init_state (state, menu);
 
-    for (i = 0; i < Incoming->length; i++) {
-      tmp = (BUFFY*) Incoming->data[i];
+    for (i = 0; i < Incoming.len; i++) {
+      tmp = Incoming.arr[i];
       tmp->magic = mx_get_magic (tmp->path);
       if (tmp->magic == M_IMAP) {
 #ifdef USE_NNTP
@@ -797,7 +778,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files,
       }
       else {
         if (f[0] == '/')
-          strcpy (LastDir, "/");        /* __STRCPY_CHECKED__ */
+          m_strcpy(LastDir, sizeof(LastDir), "/");
         else
           getcwd (LastDir, sizeof (LastDir));
       }
@@ -888,7 +869,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files,
 
           if (m_strcmp(state.entry[menu->current].name, "..") == 0) {
             if (m_strcmp("..", LastDir + m_strlen(LastDir) - 2) == 0)
-              strcat (LastDir, "/..");  /* __STRCAT_CHECKED__ */
+              m_strcat(LastDir, sizeof(LastDir), "/..");
             else {
               char *p = strrchr (LastDir + 1, '/');
 
@@ -898,7 +879,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files,
                 if (LastDir[0] == '/')
                   LastDir[1] = 0;
                 else
-                  strcat (LastDir, "/..");      /* __STRCAT_CHECKED__ */
+                  m_strcat(LastDir, sizeof(LastDir), "/..");
               }
             }
           }