Some platforms may lack the NI_MAXHOST and NI_MAXSERV values in their
system headers, so ensure they are available.

Signed-off-by: David Michael <>

NI_MAXHOST is missing from my platform, and it has no compatibility
definition anywhere.

    $ grep -FIR NI_MAXHOST
    imap-send.c:            char addr[NI_MAXHOST];
    connect.c:    static char addr[NI_MAXHOST];

I've been defining it in CFLAGS, but I noticed there is precedence for
this type of definition in git-compat-util.h.  This patch adds a
definition for compatibility.

In addition, all the documentation I've seen mentions NI_MAXHOST and
NI_MAXSERV together, so this also moves the NI_MAXSERV definition to
git-compat-util.h for consistency.

 daemon.c          |  4 ----
 git-compat-util.h | 11 +++++++++++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/daemon.c b/daemon.c
index 4602b46..df8c0ab 100644
--- a/daemon.c
+++ b/daemon.c
@@ -9,10 +9,6 @@
 #define HOST_NAME_MAX 256

-#ifndef NI_MAXSERV
-#define NI_MAXSERV 32
 #define initgroups(x, y) (0) /* nothing */
diff --git a/git-compat-util.h b/git-compat-util.h
index b7eaaa9..2580c6b 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -213,6 +213,17 @@ extern char *gitbasename(char *);
 #include <openssl/err.h>

+/* On most systems <netdb.h> would have given us this, but
+ * not on some systems (e.g. z/OS).
+ */
+#ifndef NI_MAXHOST
+#define NI_MAXHOST 1025
+#ifndef NI_MAXSERV
+#define NI_MAXSERV 32
 /* On most systems <limits.h> would have given us this, but
  * not on some systems (e.g. GNU/Hurd).
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