path: root/compat
diff options
authorPat Thoyts <>2011-10-15 14:05:20 (GMT)
committerJunio C Hamano <>2011-10-16 03:14:39 (GMT)
commit13d24b018f348401cceca45da5c0dd6d17411268 (patch)
tree9569fe30551a57e7b69a29128b37a3da4bf95725 /compat
parent8850c3da95d17bb23576ee5ee3484bfd3d486444 (diff)
mingw: ensure sockets are initialized before calling gethostname
If the Windows sockets subsystem has not been initialized yet then an attempt to get the hostname returns an error and prints a warning to the console. This solves this issue for msysGit as seen with 'git fetch'. Signed-off-by: Pat Thoyts <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'compat')
2 files changed, 10 insertions, 0 deletions
diff --git a/compat/mingw.c b/compat/mingw.c
index 6ef0cc4..8e17dae 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -1321,6 +1321,13 @@ static void ensure_socket_initialization(void)
initialized = 1;
+#undef gethostname
+int mingw_gethostname(char *name, int namelen)
+ ensure_socket_initialization();
+ return gethostname(name, namelen);
#undef gethostbyname
struct hostent *mingw_gethostbyname(const char *host)
diff --git a/compat/mingw.h b/compat/mingw.h
index ce9dd98..fecf0d0 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -190,6 +190,9 @@ char *mingw_getcwd(char *pointer, int len);
char *mingw_getenv(const char *name);
#define getenv mingw_getenv
+int mingw_gethostname(char *host, int namelen);
+#define gethostname mingw_gethostname
struct hostent *mingw_gethostbyname(const char *host);
#define gethostbyname mingw_gethostbyname