X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=muttlib.c;h=d7e88ed4da1165bf8acdac7b6b4fd64d0009113b;hp=676b9225e22c4fef76f5a640c2bd2d1de09c8b96;hb=0ecf3d77dc355f4bea99910a9dfb6f5866c9f73a;hpb=fa7f733a61a6fe3143198791ab470ddf4d08fdbe diff --git a/muttlib.c b/muttlib.c index 676b922..d7e88ed 100644 --- a/muttlib.c +++ b/muttlib.c @@ -15,7 +15,6 @@ #include "mutt.h" #include "mutt_curses.h" #include "mime.h" -#include "mailbox.h" #include "mx.h" #include "url.h" @@ -23,6 +22,7 @@ #ifdef USE_IMAP #include "imap.h" +#include "imap/mx_imap.h" #endif #include "mutt_crypt.h" @@ -30,6 +30,7 @@ #include "lib/mem.h" #include "lib/intl.h" #include "lib/str.h" +#include "lib/debug.h" #include #include @@ -85,7 +86,7 @@ void mutt_adv_mktemp (char *s, size_t l) mktemp (s); if (period != NULL) { *period = '.'; - sl = mutt_strlen (s); + sl = safe_strlen (s); strfcpy (s + sl, period, l - sl); } } @@ -170,13 +171,11 @@ void mutt_free_body (BODY ** p) if (b->parameter) mutt_free_parameter (&b->parameter); if (b->unlink && b->filename) { - dprint (1, (debugfile, "mutt_free_body: Unlinking %s.\n", b->filename)); + debug_print (1, ("unlinking %s.\n", b->filename)); unlink (b->filename); } else if (b->filename) - dprint (1, - (debugfile, "mutt_free_body: Not unlinking %s.\n", - b->filename)); + debug_print (1, ("not unlinking %s.\n", b->filename)); FREE (&b->filename); FREE (&b->content); @@ -277,7 +276,7 @@ void mutt_free_header (HEADER ** h) int mutt_matches_ignore (const char *s, LIST * t) { for (; t; t = t->next) { - if (!ascii_strncasecmp (s, t->data, mutt_strlen (t->data)) + if (!ascii_strncasecmp (s, t->data, safe_strlen (t->data)) || *t->data == '*') return 1; } @@ -364,9 +363,9 @@ char *_mutt_expand_path (char *s, size_t slen, int rx) { #ifdef USE_IMAP /* if folder = {host} or imap[s]://host/: don't append slash */ - if (mx_is_imap (NONULL (Maildir)) && - (Maildir[mutt_strlen (Maildir) - 1] == '}' || - Maildir[mutt_strlen (Maildir) - 1] == '/')) + if (imap_is_magic (NONULL (Maildir), NULL) == M_IMAP && + (Maildir[safe_strlen (Maildir) - 1] == '}' || + Maildir[safe_strlen (Maildir) - 1] == '/')) strfcpy (p, NONULL (Maildir), sizeof (p)); else #endif @@ -461,7 +460,7 @@ char *_mutt_expand_path (char *s, size_t slen, int rx) #ifdef USE_IMAP /* Rewrite IMAP path in canonical form - aids in string comparisons of * folders. May possibly fail, in which case s should be the same. */ - if (mx_is_imap (s)) + if (imap_is_magic (s, NULL) == M_IMAP) imap_expand_path (s, slen); #endif @@ -498,7 +497,7 @@ char *mutt_gecos_name (char *dest, size_t destlen, struct passwd *pw) else strfcpy (dest, pw->pw_gecos, destlen); - pwnl = mutt_strlen (pw->pw_name); + pwnl = safe_strlen (pw->pw_name); for (idx = 0; dest[idx]; idx++) { if (dest[idx] == '&') { @@ -534,7 +533,7 @@ void mutt_set_parameter (const char *attribute, const char *value, for (q = *p; q; q = q->next) { if (ascii_strcasecmp (attribute, q->attribute) == 0) { - mutt_str_replace (&q->value, value); + str_replace (&q->value, value); return; } } @@ -648,10 +647,9 @@ void mutt_free_envelope (ENVELOPE ** p) void _mutt_mktemp (char *s, const char *src, int line) { - snprintf (s, _POSIX_PATH_MAX, "%s/mutt-%s-%d-%d-%d", NONULL (Tempdir), + snprintf (s, _POSIX_PATH_MAX, "%s/muttng-%s-%d-%d-%d", NONULL (Tempdir), NONULL (Hostname), (int) getuid (), (int) getpid (), Counter++); - dprint (1, - (debugfile, "%s:%d: mutt_mktemp returns \"%s\".\n", src, line, s)); + debug_print (1, ("%s:%d: mutt_mktemp returns \"%s\".\n", src, line, s)); unlink (s); } @@ -709,15 +707,15 @@ void mutt_pretty_mailbox (char *s) } *q = 0; - if (mutt_strncmp (s, Maildir, (len = mutt_strlen (Maildir))) == 0 && + if (safe_strncmp (s, Maildir, (len = safe_strlen (Maildir))) == 0 && s[len] == '/') { *s++ = '='; - memmove (s, s + len, mutt_strlen (s + len) + 1); + memmove (s, s + len, safe_strlen (s + len) + 1); } - else if (mutt_strncmp (s, Homedir, (len = mutt_strlen (Homedir))) == 0 && + else if (safe_strncmp (s, Homedir, (len = safe_strlen (Homedir))) == 0 && s[len] == '/') { *s++ = '~'; - memmove (s, s + len - 1, mutt_strlen (s + len - 1) + 1); + memmove (s, s + len - 1, safe_strlen (s + len - 1) + 1); } } @@ -757,7 +755,7 @@ void mutt_expand_fmt (char *dest, size_t destlen, const char *fmt, size_t slen; int found = 0; - slen = mutt_strlen (src); + slen = safe_strlen (src); destlen--; for (p = fmt, d = dest; destlen && *p; p++) { @@ -815,7 +813,7 @@ int mutt_check_overwrite (const char *attname, const char *path, (_("File is a directory, save under it? [(y)es, (n)o, (a)ll]"), _("yna"))) { case 3: /* all */ - mutt_str_replace (directory, fname); + str_replace (directory, fname); break; case 1: /* yes */ FREE (directory); @@ -875,7 +873,7 @@ void mutt_save_path (char *d, size_t dsize, ADDRESS * a) if ((p = strpbrk (d, "%@"))) *p = 0; } - mutt_strlower (d); + str_tolower (d); } else *d = 0; @@ -909,7 +907,7 @@ int mutt_skipchars (const char *s, const char *c) ret++; s++; } - return (mutt_strlen (p)); + return (safe_strlen (p)); } void mutt_FormatString (char *dest, /* output buffer */ @@ -1009,7 +1007,7 @@ void mutt_FormatString (char *dest, /* output buffer */ if (count > col) { count -= col; /* how many columns left on this line */ mutt_FormatString (buf, sizeof (buf), src, callback, data, flags); - wid = mutt_strlen (buf); + wid = safe_strlen (buf); if (count > wid) { count -= wid; /* how many chars to pad */ memset (wptr, ch, count); @@ -1058,7 +1056,7 @@ void mutt_FormatString (char *dest, /* output buffer */ data, flags); if (tolower) - mutt_strlower (buf); + str_tolower (buf); if (nodots) { char *p = buf; @@ -1067,7 +1065,7 @@ void mutt_FormatString (char *dest, /* output buffer */ *p = '_'; } - if ((len = mutt_strlen (buf)) + wlen > destlen) + if ((len = safe_strlen (buf)) + wlen > destlen) len = (destlen - wlen > 0) ? (destlen - wlen) : 0; memcpy (wptr, buf, len); @@ -1138,7 +1136,7 @@ FILE *mutt_open_read (const char *path, pid_t * thepid) FILE *f; struct stat s; - int len = mutt_strlen (path); + int len = safe_strlen (path); if (path[len - 1] == '|') { /* read from a pipe */ @@ -1196,7 +1194,7 @@ int mutt_save_confirm (const char *s, struct stat *st) } if (option (OPTCONFIRMAPPEND) && - (!TrashPath || (mutt_strcmp (s, TrashPath) != 0))) + (!TrashPath || (safe_strcmp (s, TrashPath) != 0))) /* if we're appending to the trash, there's no point in asking */ { snprintf (tmp, sizeof (tmp), _("Append messages to %s?"), s); @@ -1239,7 +1237,7 @@ void state_prefix_putc (char c, STATE * s) if (s->flags & M_PENDINGPREFIX) { int i; - i = mutt_strlen (Quotebuf); + i = safe_strlen (Quotebuf); Quotebuf[i++] = c; Quotebuf[i] = '\0'; if (i == sizeof (Quotebuf) - 1 || c == '\n') { @@ -1293,7 +1291,7 @@ int state_printf (STATE * s, const char *fmt, ...) void state_mark_attach (STATE * s) { - if ((s->flags & M_DISPLAY) && !mutt_strcmp (Pager, "builtin")) + if ((s->flags & M_DISPLAY) && !safe_strcmp (Pager, "builtin")) state_puts (AttachmentMarker, s); } @@ -1361,14 +1359,14 @@ BUFFER *mutt_buffer_from (BUFFER * b, char *seed) b = mutt_buffer_init (b); b->data = safe_strdup (seed); - b->dsize = mutt_strlen (seed); + b->dsize = safe_strlen (seed); b->dptr = (char *) b->data + b->dsize; return b; } void mutt_buffer_addstr (BUFFER * buf, const char *s) { - mutt_buffer_add (buf, s, mutt_strlen (s)); + mutt_buffer_add (buf, s, safe_strlen (s)); } void mutt_buffer_addch (BUFFER * buf, char c) @@ -1475,12 +1473,7 @@ int mutt_match_spam_list (const char *s, SPAM_LIST * l, char *text, int x) if (regexec (l->rx->rx, s, (size_t) l->nmatch, (regmatch_t *) pmatch, (int) 0) == 0) { - dprint (5, - (debugfile, "mutt_match_spam_list: %s matches %s\n", s, - l->rx->pattern)); - dprint (5, - (debugfile, "mutt_match_spam_list: %d subs\n", - l->rx->rx->re_nsub)); + debug_print (5, ("%s matches %s\n%d subst", s, l->rx->pattern, l->rx->rx->re_nsub)); /* Copy template into text, with substitutions. */ for (p = l->template; *p;) { @@ -1496,7 +1489,7 @@ int mutt_match_spam_list (const char *s, SPAM_LIST * l, char *text, int x) } } text[tlen] = '\0'; - dprint (5, (debugfile, "mutt_match_spam_list: \"%s\"\n", text)); + debug_print (5, ("\"%s\"\n", text)); return 1; } }