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

Re: [PATCH] daemon: restore getpeername(0,...) use

From
Joachim Schmitz <jojo@schmitz-digital.de>
Date
Sep 10, 2012, 14:38 UTC
Message-ID
<k2ku26$jld$1@ger.gmane.org>
In-Reply-To
<20120910142100.GB7906@sigill.intra.peff.net>
Jeff King wrote:
Show 35 quoted lines
> On Sat, Sep 08, 2012 at 09:20:48PM +0200, Jan Engelhardt wrote:
>
>> On Saturday 2012-09-08 20:59, Junio C Hamano wrote:
>>>> diff --git a/daemon.c b/daemon.c
>>>> index 4602b46..eaf08c2 100644
>>>> --- a/daemon.c
>>>> +++ b/daemon.c
>>>> @@ -1,3 +1,4 @@
>>>> +#include <stdbool.h>
>>>>  #include "cache.h"
>>>>  #include "pkt-line.h"
>>>>  #include "exec_cmd.h"
>>>
>>> Platform agnostic parts of the code that use "git-compat-util.h"
>>> (users of "cache.h" are indirectly users of it) are not allowed to
>>> do platform specific include like this at their beginning.
>>>
>>> This is the first use of stdbool.h; what do you need it for?
>>
>> For the use in setenv(,,true). It was not entirely obvious in which
>> .h to add it; the most reasonable place was daemon.c itself, since
>> the other .c files do not seem to need it.
>
> It would go in git-compat-util.h. However, it really is not needed;
> you can simply pass "1" to setenv, as every other callsite in git
> does.
>
> More importantly, though, is it actually portable? I thought it was
> added in C99, and we try to stick to C89 to support older compilers
> and systems. My copy of C99 is vague (it says only that the "bool"
> macro was added via stdbool.h in C99, but nothing about the "true"
> and "false" macros), and I don't have a copy of C89 handy.  Wikipedia
> does claim the header wasn't standardized at all until C99:
>
>  https://en.wikipedia.org/wiki/C_standard_library

Indeed stdbool is not part of C89, but inline isn't either and used extensively in git (could possible be defined away), as are non-const array intializers, e.g.:

                const char *args[] = { editor, path, NULL };
                                               ^
".../git/editor.c", line 39: error(122): expression must have a constant 
value
So git source is not plain C89 code (anymore?)
Bye, Jojo 
Previous: Jeff KingNext: Jeff King
Message 9 of 16 in “Restore hostname logging in inetd mode”
  1. Jan EngelhardtSep 8, 2012
  2. daemon: restore getpeername(0,...) useJan Engelhardt, Sep 8, 2012
  3. Joachim SchmitzSep 8, 2012
  4. Junio C HamanoSep 8, 2012
  5. Joachim SchmitzSep 8, 2012
  6. Junio C HamanoSep 8, 2012
  7. Jan EngelhardtSep 8, 2012
  8. Jeff KingSep 10, 2012
  9. Joachim SchmitzSep 10, 2012
  10. Jeff KingSep 10, 2012
  11. Joachim SchmitzSep 10, 2012
  12. Jeff KingSep 10, 2012
  13. Joachim SchmitzSep 10, 2012
  14. Jeff KingSep 10, 2012
  15. Junio C HamanoSep 8, 2012
  16. Jan EngelhardtSep 8, 2012

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.