From 4f6e03df3e7c14bc97d534ccf8a5374ea1f83e4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20M=C3=BCller?= Date: Wed, 30 Apr 2025 14:49:14 +0200 Subject: [PATCH 1/2] Add `Digest.update` overloads for `Bytes` --- src/digest/adler32.cr | 5 ++++- src/digest/crc32.cr | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/digest/adler32.cr b/src/digest/adler32.cr index 0b31e52a80b1..99dc0ce98bf3 100644 --- a/src/digest/adler32.cr +++ b/src/digest/adler32.cr @@ -22,7 +22,10 @@ class Digest::Adler32 < ::Digest end def self.update(data, adler32 : UInt32) : UInt32 - slice = data.to_slice + update data.to_slice, adler32 + end + + def self.update(data : Bytes, adler32 : UInt32) : UInt32 LibZ.adler32(adler32, slice, slice.size).to_u32 end diff --git a/src/digest/crc32.cr b/src/digest/crc32.cr index b32ecd68e41f..0c0e7b53425d 100644 --- a/src/digest/crc32.cr +++ b/src/digest/crc32.cr @@ -22,7 +22,10 @@ class Digest::CRC32 < ::Digest end def self.update(data, crc32 : UInt32) : UInt32 - slice = data.to_slice + update data.to_slice, crc32 + end + + def self.update(data : Bytes, crc32 : UInt32) : UInt32 LibZ.crc32(crc32, slice, slice.size).to_u32 end From a53d418feb658dff872a3e9a4036d61bcc4c6907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20M=C3=BCller?= Date: Wed, 30 Apr 2025 23:35:55 +0200 Subject: [PATCH 2/2] fixup --- src/digest/adler32.cr | 2 +- src/digest/crc32.cr | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/digest/adler32.cr b/src/digest/adler32.cr index 99dc0ce98bf3..59e228166d7e 100644 --- a/src/digest/adler32.cr +++ b/src/digest/adler32.cr @@ -26,7 +26,7 @@ class Digest::Adler32 < ::Digest end def self.update(data : Bytes, adler32 : UInt32) : UInt32 - LibZ.adler32(adler32, slice, slice.size).to_u32 + LibZ.adler32(adler32, data, data.size).to_u32 end def self.combine(adler1 : UInt32, adler2 : UInt32, len) : UInt32 diff --git a/src/digest/crc32.cr b/src/digest/crc32.cr index 0c0e7b53425d..7faefe81d023 100644 --- a/src/digest/crc32.cr +++ b/src/digest/crc32.cr @@ -26,7 +26,7 @@ class Digest::CRC32 < ::Digest end def self.update(data : Bytes, crc32 : UInt32) : UInt32 - LibZ.crc32(crc32, slice, slice.size).to_u32 + LibZ.crc32(crc32, data, data.size).to_u32 end def self.combine(crc1 : UInt32, crc2 : UInt32, len) : UInt32