X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pattern.c;h=e07377f0cbd1734aba466c30769d62cf24508936;hp=a61e7e97c0de02bc15f51bd9f2a3ce8712a3f2bc;hb=4282401a0bcdc285a228da4ad635cbf7baf71488;hpb=b8c71f93b0296f815a6538182343ba67e88c0012 diff --git a/pattern.c b/pattern.c index a61e7e9..e07377f 100644 --- a/pattern.c +++ b/pattern.c @@ -21,9 +21,10 @@ #include +#include + #include "mutt.h" #include "handler.h" -#include "enter.h" #include "mx.h" #include "keymap.h" #include "copy.h" @@ -37,7 +38,7 @@ #include #include -#include "mutt_crypt.h" +#include static int eat_regexp (pattern_t * pat, BUFFER *, BUFFER *); static int eat_date (pattern_t * pat, BUFFER *, BUFFER *); @@ -156,7 +157,7 @@ msg_search (CONTEXT *ctx, pattern_t* pat, int msgno) int match = 0; HEADER *h = ctx->hdrs[msgno]; char* buf; - size_t blen; + ssize_t blen; if ((msg = mx_open_message (ctx, msgno)) != NULL) { if (option (OPTTHOROUGHSRC)) { @@ -215,7 +216,7 @@ msg_search (CONTEXT *ctx, pattern_t* pat, int msgno) /* search the file "fp" */ while (lng > 0) { if (pat->op == M_HEADER) { - if (*(buf = mutt_read_rfc822_line (fp, buf, &blen)) == '\0') + if (!mutt_read_rfc822_line(fp, &buf, &blen)) break; } else if (fgets (buf, blen - 1, fp) == NULL) break; /* don't loop forever */ @@ -287,7 +288,7 @@ static int patmatch (const pattern_t* pat, const char* buf) { return regexec (pat->rx, buf, 0, NULL, 0); } -int eat_range (pattern_t * pat, BUFFER * s, BUFFER * err) +int eat_range (pattern_t * pat, BUFFER * s, BUFFER * err __attribute__ ((unused))) { char *tmp; int do_exclusive = 0; @@ -869,7 +870,7 @@ perform_or (struct pattern_t *pat, pattern_exec_flag flags, CONTEXT * ctx, return 0; } -static int match_adrlist (pattern_t* pat, int match_personal, int alladdr, +static int match_adrlist (pattern_t* pat, int match_personal, int alladdr __attribute__ ((unused)), int n, ...) { va_list ap; @@ -891,7 +892,7 @@ static int match_adrlist (pattern_t* pat, int match_personal, int alladdr, return pat->alladdr; /* No matches, or all matches if alladdr */ } -static int match_reference (pattern_t* pat, LIST * refs) +static int match_reference (pattern_t* pat, string_list_t * refs) { for (; refs; refs = refs->next) if (patmatch (pat, refs->data) == 0) @@ -1109,17 +1110,13 @@ mutt_pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, * - or we have an alias for current address * - or From: contains valid email address _and_ name has >= 2 fields */ - return (pat-> - not ^ (h->env && h->env->from && (mutt_addr_is_user (h->env->from) - || - (alias_reverse_lookup - (h->env->from) != NULL) - || (h->env->from->personal - && valid_realname (h->env-> - from-> - personal) - && h->env->from->mailbox) - ))); + return (h->env && h->env->from + && (mutt_addr_is_user(h->env->from) + || alias_reverse_lookup(h->env->from) + || (h->env->from->personal + && valid_realname(h->env-> from->personal) + && h->env->from->mailbox) + )) ^ pat->not; #ifdef USE_NNTP case M_NEWSGROUPS: return (pat-> @@ -1131,9 +1128,9 @@ mutt_pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, return (-1); } -static void quote_simple (char *tmp, size_t len, const char *p) +static void quote_simple (char *tmp, ssize_t len, const char *p) { - int i = 0; + ssize_t i = 0; tmp[i++] = '"'; while (*p && i < len - 3) { @@ -1146,7 +1143,7 @@ static void quote_simple (char *tmp, size_t len, const char *p) } /* convert a simple search into a real request */ -void mutt_check_simple (char *s, size_t len, const char *simple) +void mutt_check_simple (char *s, ssize_t len, const char *simple) { char tmp[LONG_STRING];