X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=muttlib.c;h=c0df6d1a8dfbb579dfca5de6be19844f3b7fabf2;hp=b8059f06045ab56ec102429e10dd3d2ed0609a6f;hb=3e8bb0a04f87021439ed4601a12ed8485eba27d3;hpb=666a29207bb781f47ec85f6a3c3cdeb554b30c21 diff --git a/muttlib.c b/muttlib.c index b8059f0..c0df6d1 100644 --- a/muttlib.c +++ b/muttlib.c @@ -13,12 +13,17 @@ #endif #include "mutt.h" +#include "ascii.h" +#include "buffer.h" +#include "enter.h" #include "mutt_curses.h" #include "mime.h" #include "mx.h" #include "url.h" +#include "attach.h" #include "reldate.h" +#include "svnrev.h" #ifdef USE_IMAP #include "imap.h" @@ -60,7 +65,7 @@ BODY *mutt_new_body (void) * Renamed to mutt_adv_mktemp so I only have to change where it's * called, and not all possible cases. */ -void mutt_adv_mktemp (char *s, size_t l) +void mutt_adv_mktemp (const char* dir, char *s, size_t l) { char buf[_POSIX_PATH_MAX]; char tmp[_POSIX_PATH_MAX]; @@ -68,7 +73,7 @@ void mutt_adv_mktemp (char *s, size_t l) size_t sl; struct stat sb; - strfcpy (buf, NONULL (Tempdir), sizeof (buf)); + strfcpy (buf, dir && *dir ? dir : NONULL (Tempdir), sizeof (buf)); mutt_expand_path (buf, sizeof (buf)); if (s[0] == '\0') { snprintf (s, l, "%s/muttXXXXXX", buf); @@ -112,7 +117,7 @@ int mutt_copy_body (FILE * fp, BODY ** tgt, BODY * src) tmp[0] = '\0'; } - mutt_adv_mktemp (tmp, sizeof (tmp)); + mutt_adv_mktemp (NULL, tmp, sizeof (tmp)); if (mutt_save_attachment (fp, src, tmp, 0, NULL) == -1) return -1; @@ -214,43 +219,6 @@ void mutt_free_parameter (PARAMETER ** p) *p = 0; } -LIST *mutt_add_list (LIST * head, const char *data) { - size_t len = str_len (data); - return (mutt_add_list_n (head, data, len ? len + 1 : 0)); -} - -LIST *mutt_add_list_n (LIST *head, const void *data, size_t len) { - LIST *tmp; - - for (tmp = head; tmp && tmp->next; tmp = tmp->next); - - if (tmp) { - tmp->next = mem_malloc (sizeof (LIST)); - tmp = tmp->next; - } else - head = tmp = mem_malloc (sizeof (LIST)); - - tmp->data = mem_malloc (len); - if (len) - memcpy (tmp->data, data, len); - tmp->next = NULL; - return head; -} - -void mutt_free_list (LIST ** list) -{ - LIST *p; - - if (!list) - return; - while (*list) { - p = *list; - *list = (*list)->next; - mem_free (&p->data); - mem_free (&p); - } -} - HEADER *mutt_dup_header (HEADER * h) { HEADER *hnew; @@ -1277,81 +1245,6 @@ int mutt_save_confirm (const char *s, struct stat *st) return (ret); } -void state_prefix_putc (char c, STATE * s) -{ - if (s->flags & M_PENDINGPREFIX) { - int i; - - i = str_len (Quotebuf); - Quotebuf[i++] = c; - Quotebuf[i] = '\0'; - if (i == sizeof (Quotebuf) - 1 || c == '\n') { - char buf[2 * SHORT_STRING]; - int j = 0, offset = 0; - regmatch_t pmatch[1]; - - state_reset_prefix (s); - while (regexec - ((regex_t *) QuoteRegexp.rx, &Quotebuf[offset], 1, pmatch, - 0) == 0) - offset += pmatch->rm_eo; - - if (!option (OPTQUOTEEMPTY) && Quotebuf[offset] == '\n') { - buf[0] = '\n'; - buf[1] = '\0'; - } - else if (option (OPTQUOTEQUOTED) && offset) { - for (i = 0; i < offset; i++) - if (Quotebuf[i] != ' ') - j = i; - strncpy (buf, Quotebuf, j + 1); - strcpy (buf + j + 1, Quotebuf + j); - } - else - snprintf (buf, sizeof (buf), "%s%s", NONULL (s->prefix), Quotebuf); - - state_puts (buf, s); - } - } - else - state_putc (c, s); - - if (c == '\n') { - state_set_prefix (s); - Quotebuf[0] = '\0'; - } -} - -int state_printf (STATE * s, const char *fmt, ...) -{ - int rv; - va_list ap; - - va_start (ap, fmt); - rv = vfprintf (s->fpout, fmt, ap); - va_end (ap); - - return rv; -} - -void state_mark_attach (STATE * s) -{ - if ((s->flags & M_DISPLAY) && !str_cmp (Pager, "builtin")) - state_puts (AttachmentMarker, s); -} - -void state_attach_puts (const char *t, STATE * s) -{ - if (*t != '\n') - state_mark_attach (s); - while (*t) { - state_putc (*t, s); - if (*t++ == '\n' && *t) - if (*t != '\n') - state_mark_attach (s); - } -} - void mutt_display_sanitize (char *s) { for (; *s; s++) { @@ -1396,8 +1289,8 @@ const char *mutt_make_version (void) { static char vstring[STRING]; - snprintf (vstring, sizeof (vstring), "Mutt-ng %s (%s) based on Mutt 1.5.9", - MUTT_VERSION, ReleaseDate); + snprintf (vstring, sizeof (vstring), "Mutt-ng %s-%s (based on Mutt 1.5.10/%s)", + MUTT_VERSION, MUTTNG_SVNREV, ReleaseDate); return vstring; }