small reorg.
[apps/madmutt.git] / muttlib.c
index c0cde0c..57fabf3 100644 (file)
--- a/muttlib.c
+++ b/muttlib.c
 #include <grp.h>
 #include <pwd.h>
 
-#include <lib-mime/mime.h>
 #include <lib-ui/curses.h>
 #include <lib-ui/enter.h>
 #include <lib-sys/unix.h>
-#include <lib-mx/mx.h>
+#include <imap/imap.h>
 
 #include "alias.h"
 #include "mutt.h"
 #include "attach.h"
-
 #include "version.h"
 
-#include <imap/imap.h>
-
-#include <lib-crypt/crypt.h>
-
-#define SW              (option(OPTMBOXPANE)?SidebarWidth:0)
-
 /* Modified by blong to accept a "suggestion" for file name.  If
  * that file exists, then construct one with unique name but 
  * keep any extension.  This might fail, I guess.
@@ -50,15 +42,15 @@ void mutt_adv_mktemp (const char* dir, char *s, ssize_t l)
     }
 }
 
-/* returns true if the header contained in "s" is in list "t" */
-int mutt_matches_ignore (const char *s, string_list_t * t)
+void mutt_mktemp(char *s)
 {
-  for (; t; t = t->next) {
-    if (!ascii_strncasecmp (s, t->data, m_strlen(t->data))
-        || *t->data == '*')
-      return 1;
-  }
-  return 0;
+    int fd = m_tempfd(s, _POSIX_PATH_MAX, NONULL(Tempdir), NULL);
+    if (fd < 0) {
+        *s = '\0';
+    } else {
+        close(fd);
+        unlink(s);
+    }
 }
 
 ssize_t _mutt_expand_path(char *s, ssize_t slen, int rx)
@@ -170,17 +162,6 @@ ssize_t _mutt_expand_path(char *s, ssize_t slen, int rx)
     return m_strcpy(s, slen, tmp);
 }
 
-void mutt_mktemp(char *s)
-{
-    int fd = m_tempfd(s, _POSIX_PATH_MAX, NONULL(Tempdir), NULL);
-    if (fd < 0) {
-        *s = '\0';
-    } else {
-        close(fd);
-        unlink(s);
-    }
-}
-
 /* collapse the pathname using ~ or = when possible */
 void mutt_pretty_mailbox (char *s)
 {
@@ -328,142 +309,6 @@ void mutt_safe_path(char *s, ssize_t l, address_t *a)
     }
 }
 
-ssize_t m_strformat(char *dst, ssize_t dlen, const char *fmt,
-                    format_t *callback, anytype cdata, format_flag flags)
-{
-    ssize_t pos = flags & M_FORMAT_ARROWCURSOR ? 3 : 0;
-
-    if (dlen >= 0)
-        *dst = '\0';
-
-    while (*fmt) {
-        int ch;
-
-        if (*fmt == '%') {
-            char ifstr[STRING], elstr[STRING], prefix[STRING];
-
-            *ifstr = *elstr = *prefix = '\0';
-
-            if (*++fmt == '%') {
-                pos += m_strputc(dst + pos, dlen - pos, *fmt++);
-                continue;
-            }
-
-            if (*fmt == '?') {
-                flags |= M_FORMAT_OPTIONAL;
-                fmt++;
-            } else {
-                ssize_t pfxlen;
-                flags &= ~M_FORMAT_OPTIONAL;
-
-                /* eat the format string */
-                pfxlen = strspn(fmt, "0123456789.-");
-                m_strncpy(prefix, sizeof(prefix), fmt, pfxlen);
-                fmt   += pfxlen;
-            }
-
-            /* save the character to switch on */
-            if (!(ch = *fmt++))
-                break;
-
-            if (flags & M_FORMAT_OPTIONAL) {
-                ssize_t iflen;
-                const char *p;
-
-                if (*fmt++ != '?')
-                    break;                /* bad format */
-
-                /* eat the `if' part of the string */
-                iflen = strcspn(fmt, "?&");
-                m_strncpy(ifstr, ssizeof(ifstr), fmt, iflen);
-                fmt  += iflen;
-
-                /* eat the `else' part of the string (optional) */
-                if (*fmt == '&')
-                    fmt++;                /* skip the & */
-
-                p = m_strchrnul(fmt, '?');
-                m_strncpy(elstr, ssizeof(elstr), fmt, p - fmt);
-                fmt = p;
-
-                if (!*fmt++)              /* move past the trailing `?' */
-                    break;                /* bad format */
-            }
-
-            switch (ch) {
-                ssize_t col;
-                char lower, nodots, buf[LONG_STRING];
-
-              case '>':                 /* right justify to EOL */
-                col = mutt_strwidth(dst);
-
-                ch = *fmt++;            /* pad char */
-
-                if (COLS - SW > col) {
-                    m_strformat(buf, sizeof(buf), fmt, callback, cdata, flags);
-                    pos += m_strpad(dst + pos, dlen - pos, ch,
-                                    COLS - SW - col - mutt_strwidth(buf));
-                    pos += m_strcpy(dst + pos, dlen - pos, buf);
-                }
-                return pos;             /* skip rest of input */
-
-              case '|':                 /* pad to EOL */
-                return pos + m_strpad(dst + pos, dlen - pos, *fmt,
-                                      COLS - SW - mutt_strwidth(dst));
-
-              default:
-                lower = nodots = 0;
-
-                while (ch == '_' || ch == ':') {
-                    lower  |= ch == '_';
-                    nodots |= ch == ':';
-                    ch = *fmt++;
-                }
-
-                /* use callback function to handle this case */
-                fmt = callback(buf, sizeof (buf), ch, fmt, prefix,
-                               ifstr, elstr, cdata, flags);
-
-                if (lower)
-                    m_strtolower(buf);
-
-                if (nodots) {
-                    char *p;
-
-                    for (p = buf; *p; p++) {
-                        if (*p == '.')
-                            *p = '_';
-                    }
-                }
-
-                pos += m_strcpy(dst + pos, dlen - pos, buf);
-                break;
-            }
-            continue;
-        }
-
-        if (*fmt == '\\') {
-            if (!*++fmt)
-                break;
-            switch ((ch = *fmt++)) {
-              case 'n': pos += m_strputc(dst + pos, dlen - pos, '\n'); break;
-              case 't': pos += m_strputc(dst + pos, dlen - pos, '\t'); break;
-              case 'r': pos += m_strputc(dst + pos, dlen - pos, '\r'); break;
-              case 'f': pos += m_strputc(dst + pos, dlen - pos, '\f'); break;
-              case 'v': pos += m_strputc(dst + pos, dlen - pos, '\v'); break;
-              default:  pos += m_strputc(dst + pos, dlen - pos, ch);   break;
-            }
-        } else {
-            ssize_t len = strcspn(fmt, "%\\");
-
-            pos += m_strncpy(dst + pos, dlen - pos, fmt, len);
-            fmt += len;
-        }
-    }
-
-    return pos;
-}
-
 /* returns 0 if OK to proceed, -1 to abort, 1 to retry */
 int mutt_save_confirm (const char *s, struct stat *st)
 {