X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=muttlib.c;h=9afd5cd6dd04c717037ae4713934b9e97a0d7859;hp=1f6b7514bbb97f8b58a720d5315a2d498b9e5213;hb=f2ff91d8b7627e22af9715d384b6f9e9e802a39e;hpb=8336b26fc23c7943bf6681ba2c290bb5cd2c54b8 diff --git a/muttlib.c b/muttlib.c index 1f6b751..9afd5cd 100644 --- a/muttlib.c +++ b/muttlib.c @@ -198,7 +198,7 @@ void mutt_pretty_mailbox (char *s) /* if s is an url, only collapse path component */ if (scheme != U_UNKNOWN) { p = strchr (s, ':') + 1; - if (!strncmp (p, "//", 2)) + if (!m_strncmp (p, "//", 2)) q = strchr (p + 2, '/'); if (!q) q = strchr (p, '\0'); @@ -618,48 +618,6 @@ const char *mutt_make_version (int full) return vstring; } -int mutt_match_spam_list (const char *s, rx_t * l, char *text, int x) -{ - static regmatch_t *pmatch = NULL; - static int nmatch = 0; - int i, n, tlen; - char *p; - - if (!s) - return 0; - - tlen = 0; - - for (; l; l = l->next) { - /* If this pattern needs more matches, expand pmatch. */ - if (l->nmatch > nmatch) { - p_realloc(&pmatch, l->nmatch); - nmatch = l->nmatch; - } - - /* Does this pattern match? */ - if (regexec(l->rx, s, l->nmatch, (regmatch_t *)pmatch, (int) 0) == 0) { - /* Copy template into text, with substitutions. */ - for (p = l->template; *p;) { - if (*p == '%') { - n = atoi (++p); /* find pmatch index */ - while (isdigit ((unsigned char) *p)) - ++p; /* skip subst token */ - for (i = pmatch[n].rm_so; (i < pmatch[n].rm_eo) && (tlen < x); i++) - text[tlen++] = s[i]; - } - else { - text[tlen++] = *p++; - } - } - text[tlen] = '\0'; - return 1; - } - } - - return 0; -} - /* return 1 if address lists are strictly identical */ static int mutt_cmp_addr (const address_t * a, const address_t * b) { @@ -888,7 +846,7 @@ int mutt_extract_token(BUFFER *dest, BUFFER *tok, int flags) tok->dsize = expnlen + m_strlen(tok->dptr) + 1; ptr = xmalloc(tok->dsize); memcpy(ptr, expn.data, expnlen); - strcpy(ptr + expnlen, tok->dptr); /* __STRCPY_CHECKED__ */ + m_strcpy(ptr + expnlen, tok->dsize - expnlen, tok->dptr); if (tok->destroy) p_delete(&tok->data); tok->data = ptr;