move mutt_get_parameter -> parameter_getval into mime.c
[apps/madmutt.git] / status.c
index 2a925b6..1f756a5 100644 (file)
--- a/status.c
+++ b/status.c
 #endif
 
 #include <lib-lib/mem.h>
+#include <lib-lib/str.h>
 #include <lib-lib/macros.h>
+#include <lib-lib/mapping.h>
+
+#include <lib-ui/curses.h>
+#include <lib-ui/menu.h>
 
 #include "mutt.h"
-#include "mutt_menu.h"
-#include "mutt_curses.h"
 #include "sort.h"
-#include "mapping.h"
 #include "mx.h"
 #include "buffy.h"
 
-#include "lib/str.h"
 
 #include <string.h>
 #include <ctype.h>
@@ -30,7 +31,7 @@
 
 #define SW              (option(OPTMBOXPANE)?SidebarWidth:0)
 
-static char *get_sort_str (char *buf, size_t buflen, int method)
+static char *get_sort_str (char *buf, ssize_t buflen, int method)
 {
   snprintf (buf, buflen, "%s%s%s",
             (method & SORT_REVERSE) ? "reverse-" : "",
@@ -55,9 +56,9 @@ static char *get_sort_str (char *buf, size_t buflen, int method)
  * %s = current sorting method ($sort)
  * %S = current aux sorting method ($sort_aux)
  * %t = # of tagged messages [option]
- * %v = Mutt-ng version 
+ * %v = Madmutt version 
  * %V = currently active limit pattern [option] */
-static const char *status_format_str (char *buf, size_t buflen, char op,
+static const char *status_format_str (char *buf, ssize_t buflen, char op,
                                       const char *src, const char *prefix,
                                       const char *ifstring,
                                       const char *elsestring,
@@ -81,23 +82,21 @@ static const char *status_format_str (char *buf, size_t buflen, char op,
 
   case 'B':
     snprintf (fmt, sizeof (fmt), "%%%ss", prefix);
-#ifdef USE_COMPRESSED
     if (Context && Context->compressinfo && Context->realpath) {
       if ((p = strrchr (Context->realpath, '/')))
-        strfcpy (tmp, p + 1, sizeof (tmp));
+        m_strcpy(tmp, sizeof(tmp), p + 1);
       else
-        strfcpy (tmp, Context->realpath, sizeof (tmp));
+        m_strcpy(tmp, sizeof(tmp), Context->realpath);
     }
     else
-#endif
     if (Context && Context->path) {
       if ((p = strrchr (Context->path, '/')))
-        strfcpy (tmp, p + 1, sizeof (tmp));
+        m_strcpy(tmp, sizeof(tmp), p + 1);
       else
-        strfcpy (tmp, Context->path, sizeof (tmp));
+        m_strcpy(tmp, sizeof(tmp), Context->path);
     }
     else
-      strfcpy (tmp, _("no mailbox"), sizeof (tmp));
+      m_strcpy(tmp, sizeof(tmp), _("no mailbox"));
     snprintf (buf, buflen, fmt, tmp);
     break;
 
@@ -117,19 +116,17 @@ static const char *status_format_str (char *buf, size_t buflen, char op,
 
   case 'f':
     snprintf (fmt, sizeof (fmt), "%%%ss", prefix);
-#ifdef USE_COMPRESSED
     if (Context && Context->compressinfo && Context->realpath) {
-      strfcpy (tmp, Context->realpath, sizeof (tmp));
+      m_strcpy(tmp, sizeof(tmp), Context->realpath);
       mutt_pretty_mailbox (tmp);
     }
     else
-#endif
     if (Context && Context->path) {
-      strfcpy (tmp, Context->path, sizeof (tmp));
+      m_strcpy(tmp, sizeof(tmp), Context->path);
       mutt_pretty_mailbox (tmp);
     }
     else
-      strfcpy (tmp, _("(no mailbox)"), sizeof (tmp));
+      m_strcpy(tmp, sizeof(tmp), _("(no mailbox)"));
     snprintf (buf, buflen, fmt, tmp);
     break;
 
@@ -226,26 +223,16 @@ static const char *status_format_str (char *buf, size_t buflen, char op,
       int i = 0;
 
       if (Context) {
-        i = option (OPTATTACHMSG) ? 3 : ((Context->readonly ||
-                                          Context->dontwrite) ? 2 : (Context->
-                                                                     changed
-                                                                     || (
-#ifdef USE_IMAP
-                                                                             /* deleted doesn't necessarily mean changed in IMAP */
-                                                                             Context->
-                                                                             magic
-                                                                             !=
-                                                                             M_IMAP
-                                                                             &&
-#endif
-                                                                             Context->
-                                                                             deleted))
-                                         ? 1 : 0);
+        /* XXX: deleted doesn't necessarily mean changed in IMAP */
+        i = option (OPTATTACHMSG) ? 3
+            : ((Context->readonly || Context->dontwrite) ? 2
+               : (Context->changed || (Context-> magic != M_IMAP && Context->
+                                        deleted)) ? 1 : 0);
       }
 
       if (!StChars)
         buf[0] = 0;
-      else if (i >= str_len (StChars))
+      else if (i >= m_strlen(StChars))
         buf[0] = StChars[0];
       else
         buf[0] = StChars[i];
@@ -283,7 +270,7 @@ static const char *status_format_str (char *buf, size_t buflen, char op,
     break;
 
   case 'v':
-    strncpy (buf, mutt_make_version (0), buflen);
+    m_strcpy(buf, buflen, mutt_make_version(0));
     break;
 
   case 'V':
@@ -313,7 +300,7 @@ static const char *status_format_str (char *buf, size_t buflen, char op,
   return (src);
 }
 
-void menu_status_line (char* buf, size_t len, MUTTMENU* menu, const char* p) {
+void menu_status_line (char* buf, ssize_t len, MUTTMENU* menu, const char* p) {
   /*
    * if we have enough space for buffer, format lines to $COLS-$SidebarWidth
    * only to not wrap past end of screen