Hello.
VC complains that pgwin32_bind() had a parameter differs in
levels of indirection from definition. pgwin32_bind() in
src/backend/port/win32/socket.c is defined as the following.
> int pgwin32_bind(SOCKET s, struct sockaddr * addr, int *addrlen);
The third parameter should be int, not int*. It might have been
confused with pgwin32_accept.
The attached patch fixes this.
regards,
--
Kyotaro Horiguchi
NTT Open Source Software Center
diff --git a/src/backend/port/win32/socket.c b/src/backend/port/win32/socket.c
index ea4fb55..56a13e5 100644
--- a/src/backend/port/win32/socket.c
+++ b/src/backend/port/win32/socket.c
@@ -265,7 +265,7 @@ pgwin32_socket(int af, int type, int protocol)}int
-pgwin32_bind(SOCKET s, struct sockaddr * addr, int *addrlen)
+pgwin32_bind(SOCKET s, struct sockaddr * addr, int addrlen){ int res;
diff --git a/src/include/port/win32.h b/src/include/port/win32.h
index 9810a83..708d47a 100644
--- a/src/include/port/win32.h
+++ b/src/include/port/win32.h
@@ -373,7 +373,7 @@ void pg_queue_signal(int signum);#define send(s, buf, len, flags) pgwin32_send(s, buf, len,
flags)SOCKET pgwin32_socket(int af, int type, int protocol);
-int pgwin32_bind(SOCKET s, struct sockaddr * addr, int *addrlen);
+int pgwin32_bind(SOCKET s, struct sockaddr * addr, int addrlen);int pgwin32_listen(SOCKET s, int
backlog);SOCKET pgwin32_accept(SOCKET s, struct sockaddr * addr, int *addrlen);int
pgwin32_connect(SOCKETs, const struct sockaddr * name, int namelen);