fix regression: memory leak in processtasks. also the repeating task fix needs curren...
[lcore.git] / fastmd5.pas
index f0481a9f777baa7ee35d8cddc54ee3a167d26a5e..27755b90bf51707a02341426dd5b4ca5c352a3d6 100644 (file)
@@ -8,7 +8,7 @@ unit fastmd5;
 {\r
 pascal implementation of MD5\r
 \r
-written by Bas Steendijk - steendijk@xs4all.nl\r
+written by Bas Steendijk\r
 \r
 based on RFC1321 - The MD5 Message-Digest Algorithm\r
 \r
@@ -39,7 +39,7 @@ type
 {$i uint32.inc}\r
 \r
 type\r
-  dvar=array[0..0] of byte;\r
+  dvar=array[0..65535] of byte;\r
   Tmd5state=record\r
     buf:array[0..63] of byte;\r
     H:array[0..3] of uint32;\r
@@ -55,13 +55,13 @@ procedure md5finish(var state:tmd5state;var result);
 \r
 procedure getmd5(const data;len:longint;var result);\r
 \r
-function md5tostr(const md5:tmd5):string;\r
+function md5tostr(const md5:tmd5):ansistring;\r
 \r
 implementation\r
 \r
-function inttohex(val,bits:integer):string;\r
+function inttohex(val,bits:integer):ansistring;\r
 const\r
-  hexchar:array[0..15] of char='0123456789abcdef';\r
+  hexchar:array[0..15] of ansichar='0123456789abcdef';\r
 begin\r
   inttohex := hexchar[val shr 4]+hexchar[val and $f];\r
 end;\r
@@ -211,7 +211,7 @@ begin
   b := state.msglen and 63;\r
 \r
   inc(state.msglen,len);\r
-  while (state.msglen > $20000000) do begin\r
+  while (state.msglen >= $20000000) do begin\r
     dec(state.msglen,$20000000);\r
     inc(state.msglenhi);\r
   end;\r
@@ -284,10 +284,10 @@ begin
   md5finish(t,result);\r
 end;\r
 \r
-function md5tostr(const md5:tmd5):string;\r
+function md5tostr(const md5:tmd5):ansistring;\r
 var\r
   a:integer;\r
-  s:string;\r
+  s:ansistring;\r
 begin\r
   s := '';\r
   for a := 0 to 15 do s := s + inttohex(md5[a],2);\r