git-compat-util: introduce cast_size_t_to_ssize_t()

Introduce a new helper function `cast_size_t_to_ssize_t()`. This
function will be used in the next commit.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt
2026-03-03 16:00:19 +01:00
committed by Junio C Hamano
parent d0477dd05a
commit a677fed600

View File

@@ -665,6 +665,14 @@ static inline int cast_size_t_to_int(size_t a)
return (int)a;
}
static inline ssize_t cast_size_t_to_ssize_t(size_t a)
{
if (a > maximum_signed_value_of_type(ssize_t))
die("number too large to represent as ssize_t on this platform: %"PRIuMAX,
(uintmax_t)a);
return (ssize_t)a;
}
static inline uint64_t u64_mult(uint64_t a, uint64_t b)
{
if (unsigned_mult_overflows(a, b))