let get_content file =
let ic = open_in_bin file in
let buf = Buffer.create 2048 in
let rec fill () =
match input_char ic with
| '\r' -> fill () (* NOTE: handles the case on Windows where the
git checkout has included return characters.
See: https://github.com/coq/coq/pull/6305 *)
| c -> Buffer.add_char buf c; fill ()
| exception End_of_file -> close_in ic; Buffer.contents buf
in
fill ()
let () =
match Sys.argv with
| [|_; file|] ->
let content = get_content file in
let md5 = Digest.to_hex (Digest.string content) in
print_string (md5 ^ " " ^ file)
| _ ->
prerr_endline "Error: This program needs exactly one parameter.";
prerr_endline "Usage: ocaml md5sum.ml ";
prerr_endline "Print MD5 (128-bit) checksum of the file content modulo \\r.";
exit 1
¤ Dauer der Verarbeitung: 0.24 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|