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
valueSo git source is not plain C89 code (anymore?)
Bye, Jojo