diff -ru mutt-1.3.8-dist/hdrline.c mutt-1.3.8/hdrline.c --- mutt-1.3.8-dist/hdrline.c Mon Aug 28 04:38:01 2000 +++ mutt-1.3.8/hdrline.c Sun Sep 10 10:12:28 2000 @@ -179,14 +179,14 @@ if (mutt_addr_is_user (env->from)) h->recipient = 4; - else if (user_in_addr (env->to)) + else if (env->to && env->to->mailbox && user_in_addr (env->to)) { if (env->to->next || env->cc) h->recipient = 2; /* non-unique recipient */ else h->recipient = 1; /* unique recipient */ } - else if (user_in_addr (env->cc)) + else if (env->to && env->to->mailbox && user_in_addr (env->cc)) h->recipient = 3; else h->recipient = 0; diff -ru mutt-1.3.8-dist/pattern.c mutt-1.3.8/pattern.c --- mutt-1.3.8-dist/pattern.c Fri Jun 9 12:42:14 2000 +++ mutt-1.3.8/pattern.c Sun Sep 10 10:18:39 2000 @@ -788,13 +788,17 @@ return alladdr; } -static int match_user (int alladdr, ADDRESS *a1, ADDRESS *a2) +int match_user (int alladdr, ADDRESS *a1, ADDRESS *a2) { + if (!(a1 && a1->mailbox)) + return (! alladdr); for (; a1 ; a1 = a1->next) - if (alladdr ^ mutt_addr_is_user (a1)) + if (alladdr ^ (a1 && a1->mailbox && mutt_addr_is_user (a1))) return (! alladdr); + if (!(a2 && a2->mailbox)) + return (! alladdr); for (; a2 ; a2 = a2->next) - if (alladdr ^ mutt_addr_is_user (a2)) + if (alladdr ^ (a2 && a2->mailbox && mutt_addr_is_user (a2))) return (! alladdr); return alladdr; }