Я изучаю Vala, и я пытаюсь создать Gtk + Gui, который выводит хэш файла MD5. В настоящее время я использую valadoc.org для кодирования своего приложения, и я Я использую GLib.Checksum для вычисления контрольной суммы. GLib.Checksum дескриптор MD5, SHA1, SHA256 и SHA512 (находится в документации). Поэтому я использовал код из документации, чтобы вычислить хэш пути к входному файлу. Я обнаружил, что Vala не освобождает GChecksum автоматически, и я не знаю, как это сделать вручную.
Спасибо за помощь.
Это мой код Vala:
private string HashSum( string path, string hash){
Checksum checksum = new Checksum(ChecksumType.MD5);
FileStream stream = FileStream.open(path, "rb");
//var stream = File.new_for_path(path).read();
uint8 fbuf[100];
size_t size;
while ((size = stream.read(fbuf)) > 0){
checksum.update(fbuf, size);
}
unowned string digest = checksum.get_string();
stdout.printf("%s: %s\n", path, digest);
return @"$hash hash: $digest";
}