On Tue, 2008-12-02 at 11:32 +0100, Dirk Bonengel wrote:
> I'm looking into it. Only thing - seems to work here.

The reason why hash one is broken is the "workaround" introduced into
version 1.5.
  $body_copy =~ s/[[:graph:]]+//go;

This can not work.

Hash one is supposed to do this: Condense all consecutive, identical
whitespace chars into a single occurrence, then drop the graph chars and
compute the md5sum for the remaining whitespace signature.

The "workaround" above removes words *first*, usually resulting in a
bunch of spaces per line. With the original algorithm, these are exactly
what's being hashed! With the "workaround", they falsely get condensed
into a single space per line once the original hash generation is being
run.


-- 
char *t="[EMAIL PROTECTED]";
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; }}}

Reply via email to