[PATCH v2 04/10] git-compat-util: introduce `cast_size_t_to_ssize_t()`
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Mar 3, 2026, 15:00 UTC
- Message-ID
- <20260303-pks-upload-pack-write-contention-v2-4-7321830f08fe@pks.im>
- In-Reply-To
- <20260303-pks-upload-pack-write-contention-v2-0-7321830f08fe@pks.im>
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> --- git-compat-util.h | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/git-compat-util.h b/git-compat-util.h index bebcf9f698..c6af04cd7a 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -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))
-- 2.53.0.697.g625c4fb2da.dirty