On Wed, 2013-07-10 at 23:46 +0200, Karsten Bräckelmann wrote: > Doesn't seem to be hard to write afresh. Glimpse at the full headers, > identify From: thingies, count 'em, and ding the bell if there's more > than one... > > header __HAS_FROM ALL =~ /^From:\s/m > tflags __HAS_FROM multiple > > meta MULTI_FROM __FROM > 1 ^^^^^^ Ahem. That should have been __HAS_FROM.
Also, these short and generic rule names like __HAS_FROM are prone to eventually stomp on a canonical 'header __HAS_FROM exists:From', like similar already existing ones. I suggest renaming the rules with some local id. > Oh, BTW -- untested. :) Which I just proved... -- char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}