summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/Crc32.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-16 19:56:21 +0200
committerGitHub <noreply@github.com>2025-08-16 19:56:21 +0200
commit1a32b9307357ac0fc9095e853b2b6d94f9fe62bb (patch)
treef41f723659c8926e38182fbe062746d821ab487e /dev/kernel/src/Crc32.cc
parenteb9df5eea339812513c25a8d3b2eeb03c633e7ac (diff)
parentb301047903b79560dce69085fc271a653a1eb4b6 (diff)
Merge pull request #55 from nekernel-org/dev
v0.0.4
Diffstat (limited to 'dev/kernel/src/Crc32.cc')
-rw-r--r--dev/kernel/src/Crc32.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/dev/kernel/src/Crc32.cc b/dev/kernel/src/Crc32.cc
index fddcb095..46a1d940 100644
--- a/dev/kernel/src/Crc32.cc
+++ b/dev/kernel/src/Crc32.cc
@@ -49,11 +49,13 @@ UInt32 kChecksumPolys[kCrcCnt] = {
/// @param in the data to compute.
/// @param len the length of the data.
/// @return CRC32 of **in**.
-UInt32 ke_calculate_crc32(const Char* in, Int32 len) noexcept {
- if (!in || *in == 0) return ~0;
+UInt32 ke_calculate_crc32(const VoidPtr inp, Int32 len) noexcept {
+ if (!inp) return ~0;
UInt32 crc = 0xffffffff;
+ Char* in = static_cast<Char*>(inp);
+
while ((len--) > 0) crc = (crc >> 8) ^ kChecksumPolys[(crc ^ *(in++)) & 0xFF];
return ~crc;