aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/libpq/win32.h
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2001-08-21 20:39:54 +0000
committerBruce Momjian <bruce@momjian.us>2001-08-21 20:39:54 +0000
commit5db5c2db61e7b6493c3a92742bf5ee1e49e3e511 (patch)
tree8c5a7c63a35bd3dcded2edbae31a6c910beb7c1d /src/interfaces/libpq/win32.h
parentf933766ba7c5446a28d714904ae0c46d8b21b86a (diff)
downloadpostgresql-5db5c2db61e7b6493c3a92742bf5ee1e49e3e511.tar.gz
postgresql-5db5c2db61e7b6493c3a92742bf5ee1e49e3e511.zip
> Ok, where's a "system dependent hack" :)
> It seems that win9x doesn't have the "netmsg.dll" so it defaults to "normal" > FormatMessage. > I wonder if one could load wsock32.dll or winsock.dll on those systems > instead of netmsg.dll. > > Mikhail, could you please test this code on your nt4 system? > Could someone else test this code on a win98/95 system? > > It works on win2k over here. It works on win2k here too but not on win98/95 or winNT. Anyway, attached is the patch which uses Magnus's my_sock_strerror function (renamed to winsock_strerror). The only difference is that I put the code to load and unload netmsg.dll in the libpqdll.c (is this OK Magnus?). Mikhail Terekhov
Diffstat (limited to 'src/interfaces/libpq/win32.h')
-rw-r--r--src/interfaces/libpq/win32.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/interfaces/libpq/win32.h b/src/interfaces/libpq/win32.h
index 38099b079e4..2ba2d842a61 100644
--- a/src/interfaces/libpq/win32.h
+++ b/src/interfaces/libpq/win32.h
@@ -23,19 +23,17 @@
*/
#define crypt(a,b) (a)
-/*
- * Most of libpq uses "errno" to access error conditions from socket calls,
- * so on Windows we want to redirect those usages to WSAGetLastError().
- * Rather than #ifdef'ing every single place that has "errno", hack it up
- * with a macro instead. But there are a few places that do need to touch
- * the regular errno variable. For them, we #undef and then redefine errno.
- */
-
-#define errno WSAGetLastError()
-
#undef EAGAIN /* doesn't apply on sockets */
#undef EINTR
#define EINTR WSAEINTR
#define EWOULDBLOCK WSAEWOULDBLOCK
#define ECONNRESET WSAECONNRESET
#define EINPROGRESS WSAEINPROGRESS
+
+/*
+ * Windows network messaging stuff:
+ */
+static HINSTANCE netmsgModule = NULL;
+
+static char winsock_strerror_buf[512];
+const char* winsock_strerror(DWORD eno);