From 6b3842673f2b590d106f57a7241e99a955ba245a Mon Sep 17 00:00:00 2001 From: Roland Heyder Date: Sat, 3 Feb 2024 11:25:48 +0100 Subject: [PATCH] Fix return types and results - return type is uint32_t in C/C++ and ULONGTYPE in QB64 - adler32 must return one (1) on an empty input --- internal/c/parts/compression/compression.cpp | 6 +++--- source/subs_functions/subs_functions.bas | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/c/parts/compression/compression.cpp b/internal/c/parts/compression/compression.cpp index ecbfcaf37..bfb064ee7 100644 --- a/internal/c/parts/compression/compression.cpp +++ b/internal/c/parts/compression/compression.cpp @@ -8,13 +8,13 @@ #include "miniz.h" uint32_t func__adler32(qbs *text) { - if (!text->len) return 0; - return (uint32) adler32(1, text->chr, text->len); + if (!text->len) return 1; + return (uint32_t) adler32(1, text->chr, text->len); } uint32_t func__crc32(qbs *text) { if (!text->len) return 0; - return (uint32) crc32(0, text->chr, text->len); + return (uint32_t) crc32(0, text->chr, text->len); } qbs *func__deflate(qbs *text) { diff --git a/source/subs_functions/subs_functions.bas b/source/subs_functions/subs_functions.bas index 1aaf810cf..e0bd102ef 100644 --- a/source/subs_functions/subs_functions.bas +++ b/source/subs_functions/subs_functions.bas @@ -3833,7 +3833,7 @@ id.subfunc = 1 id.callname = "func__adler32" id.args = 1 id.arg = MKL$(STRINGTYPE - ISPOINTER) -id.ret = LONGTYPE - ISPOINTER +id.ret = ULONGTYPE - ISPOINTER id.hr_syntax = "_ADLER32(dataString$)" regid @@ -3844,7 +3844,7 @@ id.subfunc = 1 id.callname = "func__crc32" id.args = 1 id.arg = MKL$(STRINGTYPE - ISPOINTER) -id.ret = LONGTYPE - ISPOINTER +id.ret = ULONGTYPE - ISPOINTER id.hr_syntax = "_CRC32(dataString$)" regid