git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git compile warnings (under mac/clang)

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 23, 2015, 18:07 UTC
Message-ID
<xmqqwq4dqskp.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20150123133033.GA27692@peff.net>
Jeff King <peff@peff.net> writes:
Show 19 quoted lines
>> diff --git a/fsck.c b/fsck.c
>> index 15cb8bd..8f8c82f 100644
>> --- a/fsck.c
>> +++ b/fsck.c
>> @@ -107,7 +107,7 @@ static int fsck_msg_severity(enum fsck_msg_id msg_id,
>>  {
>>  	int severity;
>>  
>> -	if (options->msg_severity && msg_id >= 0 && msg_id < FSCK_MSG_MAX)
>> +	if (options->msg_severity && ((unsigned int) msg_id) < FSCK_MSG_MAX)
>>  		severity = options->msg_severity[msg_id];
>>  	else {
>>  		severity = msg_id_info[msg_id].severity;
>> -- snap --
>> 
>> What do you think? Michael, does this cause more Clang warnings,
>> or would it resolve the issue?
>
> Hmm, yeah, that does not seem unreasonable, and is more localized.

Or we could force enum to be signed by defining FSCK_MSG_UNUSED to be -1 at the very beginning of enum definition, without changing anything else. Then "msg_id < 0" would become a very valid protection against programming mistakes, no?

Previous: Jeff KingNext: Jeff King
Message 10 of 15 in “Git compile warnings (under mac/clang)”
  1. Michael BlumeJan 22, 2015
  2. Stefan BellerJan 22, 2015
  3. Peter WuJan 22, 2015
  4. Johannes SchindelinJan 22, 2015
  5. Jeff KingJan 22, 2015
  6. Johannes SchindelinJan 23, 2015
  7. Jeff KingJan 23, 2015
  8. Johannes SchindelinJan 23, 2015
  9. Jeff KingJan 23, 2015
  10. Junio C HamanoJan 23, 2015
  11. Jeff KingJan 23, 2015
  12. Johannes SchindelinJan 23, 2015
  13. Jeff KingJan 23, 2015
  14. Johannes SchindelinJan 23, 2015
  15. Junio C HamanoJan 23, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.