From e376e59f581b586a46b560148fcd877eff943843 Mon Sep 17 00:00:00 2001 From: Norayr Chilingarian Date: Wed, 21 Feb 2024 03:30:49 +0400 Subject: [PATCH] md5sum test will now work with binary files as well. --- src/test/md5/md5test.Mod | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/test/md5/md5test.Mod b/src/test/md5/md5test.Mod index d697d955..91885c0e 100644 --- a/src/test/md5/md5test.Mod +++ b/src/test/md5/md5test.Mod @@ -19,25 +19,30 @@ PROCEDURE main; hexDigest: ARRAY 33 OF CHAR; F: Files.File; R: Files.Rider; - input: ARRAY 512 OF CHAR; + input: POINTER TO ARRAY OF CHAR; + ilen: LONGINT; ch: CHAR; i: INTEGER; BEGIN - F := Files.Old("hello.txt"); + F := Files.Old("SETs.pdf"); IF F # NIL THEN Files.Set(R, F, 0); + ilen := Files.Length(F); + Out.String("file length is "); Out.Int(ilen, 0); Out.Ln; + NEW(input, ilen+1); i := 0; REPEAT Files.Read(R, ch); - input[i] := ch; + input^[i] := ch; INC(i) UNTIL R.eof; - dump(input); + (*dump(input^);*) END; context := MD5.New(); (* Initialize MD5 context *) - MD5.WriteBytes(context, input, Strings.Length(input)); (* Process input string *) + (*MD5.WriteBytes(context, input^, Strings.Length(input^));*) (* Process input string *) + MD5.WriteBytes(context, input^, LEN(input^)-1); (* Process input string *) MD5.Close(context, digest); (* Finalize and get digest *) MD5.ToString(digest, hexDigest); (* Convert digest to hex string *)