Re: [PATCH 1/4] git-compat-util.h: xsize_t() - avoid -Wsign-compare warnings
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- Sep 21, 2017, 19:02 UTC
- Message-ID
- <1b778d3b-56d5-4cda-1b75-b0e81e19874e@ramsayjones.plus.com>
- In-Reply-To
- <75416139-74c5-8a60-22e8-79c53dd062c1@web.de>
On 21/09/17 19:49, Torsten Bögershausen wrote:
Show 25 quoted lines
> On 2017-09-21 18:46, Ramsay Jones wrote:
>>
>> Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
>> ---
>> git-compat-util.h | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/git-compat-util.h b/git-compat-util.h
>> index 9bc15b036..cedad4d58 100644
>> --- a/git-compat-util.h
>> +++ b/git-compat-util.h
>> @@ -898,9 +898,11 @@ static inline char *xstrdup_or_null(const char *str)
>>
>> static inline size_t xsize_t(off_t len)
>> {
>> - if (len > (size_t) len)
>> + size_t size = (size_t) len;
>> +
>> + if (len != (off_t) size)
>> die("Cannot handle files this big");
>> - return (size_t)len;
>> + return size;
>
> Hm, can someone help me out ?
> Why is the cast not needed ?The cast in the return statement? If so, because the 'size' variable has been declared with the size_t type. (The truncation, if any, would happen when 'size' is initialised in the declaration).
Hope that helps.
ATB, Ramsay Jones