From 8995fbbaece599f27698bdc08ab4b6fdeb685e51 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 28 Jul 2026 23:01:17 +0200 Subject: clean: silence strict -Wsign-conversion / -Wunused-function Make the build clean under -Wconversion -Wsign-conversion and -Wunused-function (beyond the Makefile's -Wall -Wextra), so it compiles warning-free on stricter setups and other compilers: size_t for the verse-index counters in load_text, a cast in the LZSS matcher, and lz_unpack marked inline (it is unused in the packer-only mktext translation unit). No behaviour change; packed output is byte-identical. Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a --- clectio.c | 2 +- lz.h | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/clectio.c b/clectio.c index 7a660cb..6461e51 100644 --- a/clectio.c +++ b/clectio.c @@ -40,7 +40,7 @@ static long days_from_civil(long y, unsigned m, unsigned d) { static void load_text(void) { unsigned raw = text_lz[0] | text_lz[1] << 8 | text_lz[2] << 16 | (unsigned)text_lz[3] << 24; - int cap = 8192, n = 0; + size_t cap = 8192, n = 0; char *p; textbuf = malloc(raw + 1); lz_unpack(text_lz + 4, text_lz_len - 4, (unsigned char *)textbuf, raw); diff --git a/lz.h b/lz.h index d6b4a78..697426d 100644 --- a/lz.h +++ b/lz.h @@ -15,9 +15,10 @@ #define LZ_MINM 3 #define LZ_MAXM 258 /* 255 + LZ_MINM */ -/* Decompress `in` (inlen bytes) into `out`, stopping once rawlen bytes emitted. */ -static void lz_unpack(const unsigned char *in, size_t inlen, - unsigned char *out, size_t rawlen) { +/* Decompress `in` (inlen bytes) into `out`, stopping once rawlen bytes emitted. + * inline so the packer-only build (mktext) does not warn it unused. */ +static inline void lz_unpack(const unsigned char *in, size_t inlen, + unsigned char *out, size_t rawlen) { size_t p = 0, o = 0; while (o < rawlen && p < inlen) { unsigned char ctrl = in[p++]; @@ -66,7 +67,7 @@ static unsigned char *lz_pack(const unsigned char *src, size_t srclen, size_t *o size_t l = 0, maxl = srclen - i; if (maxl > LZ_MAXM) maxl = LZ_MAXM; - while (l < maxl && src[j + l] == src[i + l]) + while (l < maxl && src[(size_t)j + l] == src[i + l]) l++; if ((int)l > bestlen) { bestlen = (int)l; -- cgit v1.3