Jeff King wrote:
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

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:

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

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to