mirror of
https://github.com/git/git.git
synced 2024-11-23 18:05:29 +08:00
git-compat-util.h: implement checked size_t to uint32_t conversion
In a similar fashion as other checked cast functions in this header (such as `cast_size_t_to_ulong()` and `cast_size_t_to_int()`), implement a checked cast function for going from a size_t to a uint32_t value. This function will be utilized in a future commit which needs to make such a conversion. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b96289a10b
commit
ed9f41480a
@ -1013,6 +1013,15 @@ static inline unsigned long cast_size_t_to_ulong(size_t a)
|
||||
return (unsigned long)a;
|
||||
}
|
||||
|
||||
static inline uint32_t cast_size_t_to_uint32_t(size_t a)
|
||||
{
|
||||
if (a != (uint32_t)a)
|
||||
die("object too large to read on this platform: %"
|
||||
PRIuMAX" is cut off to %u",
|
||||
(uintmax_t)a, (uint32_t)a);
|
||||
return (uint32_t)a;
|
||||
}
|
||||
|
||||
static inline int cast_size_t_to_int(size_t a)
|
||||
{
|
||||
if (a > INT_MAX)
|
||||
|
Loading…
Reference in New Issue
Block a user