From d475ff0d4427fc1c3859fc5d8d0cb7cc0a32a14e Mon Sep 17 00:00:00 2001 From: letouzey Date: Thu, 22 Aug 2013 14:29:29 +0000 Subject: Change in vo format : digest aren't Marshalled anymore Since digests are strings (of size 16), we just dump them now in vo files (cf. Digest.output) instead of using Marshal on them : this is cleaner and saves a few bytes. Increased VOMAGIC to clearly identify this change in the format. Please rerun ./configure after this commit. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16722 85f007b7-540e-0410-9357-904b9bb8a0f7 --- checker/check.ml | 4 ++-- checker/cic.mli | 6 +++--- checker/values.ml | 2 +- checker/votour.ml | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'checker') diff --git a/checker/check.ml b/checker/check.ml index 0d8a4cd222..f1fe3b8c5b 100644 --- a/checker/check.ml +++ b/checker/check.ml @@ -302,11 +302,11 @@ let intern_from_file (dir, f) = try let ch = with_magic_number_check raw_intern_library f in let (md:Cic.library_disk) = System.marshal_in f ch in - let (digest:Digest.t) = System.marshal_in f ch in + let digest = System.digest_in f ch in let (table:Cic.opaque_table) = System.marshal_in f ch in (* Verification of the final checksum *) let pos = pos_in ch in - let (checksum:Digest.t) = System.marshal_in f ch in + let checksum = System.digest_in f ch in let () = close_in ch in let ch = open_in f in if not (String.equal (Digest.channel ch pos) checksum) then diff --git a/checker/cic.mli b/checker/cic.mli index 0b732e4b99..7e0cae20a2 100644 --- a/checker/cic.mli +++ b/checker/cic.mli @@ -390,9 +390,9 @@ type opaque_table = constr array (** A .vo file is currently made of : - 1) a magic number + 1) a magic number (4 bytes, cf output_binary_int) 2) a marshalled [library_disk] structure - 3) a marshalled [Digest.t] string + 3) a [Digest.t] string (16 bytes) 4) a marshalled [opaque_table] - 5) a marshalled [Digest.t] string + 5) a [Digest.t] string (16 bytes) *) diff --git a/checker/values.ml b/checker/values.ml index b39d905487..eb43ec3e18 100644 --- a/checker/values.ml +++ b/checker/values.ml @@ -13,7 +13,7 @@ To ensure this file is up-to-date, 'make' now compares the md5 of cic.mli with a copy we maintain here: -MD5 09a4e5d657809e040f50837a78fe6dfe checker/cic.mli +MD5 01def72abe22a5b53c7cbe4de4b9695b checker/cic.mli *) diff --git a/checker/votour.ml b/checker/votour.ml index afc1c17a9f..11b95c93c9 100644 --- a/checker/votour.ml +++ b/checker/votour.ml @@ -135,7 +135,7 @@ let visit_vo f = let ch = open_in_bin f in let _magic = input_binary_int ch in let lib = (input_value ch : Obj.t) in (* actually Cic.library_disk *) - let _ = (input_value ch : Digest.t) in + let _ = Digest.input ch in let tbl = (input_value ch : Obj.t) in (* actually Cic.opaque_table *) let () = close_in ch in let o = if !opaque then tbl else lib in -- cgit v1.2.3