summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2009-04-19 22:37:13 +0000
committerTom Lane2009-04-19 22:37:13 +0000
commitb5128629639f3e3bdfd3f01073fa7e101ef2ea1e (patch)
tree7e7a15ee68a4e579d5610aa21b128a1c5fd7ef60
parenta0cfe2f74243781e9e64b9fbaf724cdfd78f6832 (diff)
Assorted portability fixes for Borland C, from Pavel Golub.
-rw-r--r--src/include/libpq/libpq-be.h3
-rw-r--r--src/include/port/win32.h20
-rw-r--r--src/interfaces/libpq/bcc32.mak2
-rw-r--r--src/interfaces/libpq/libpq-int.h3
4 files changed, 26 insertions, 2 deletions
diff --git a/src/include/libpq/libpq-be.h b/src/include/libpq/libpq-be.h
index 35158277db..14ec70a698 100644
--- a/src/include/libpq/libpq-be.h
+++ b/src/include/libpq/libpq-be.h
@@ -47,6 +47,9 @@
#ifdef ENABLE_SSPI
#define SECURITY_WIN32
+#if defined(WIN32) && !defined(WIN32_ONLY_COMPILER)
+#include <ntsecapi.h>
+#endif
#include <security.h>
#undef SECURITY_WIN32
diff --git a/src/include/port/win32.h b/src/include/port/win32.h
index d4ef398484..536e6f366d 100644
--- a/src/include/port/win32.h
+++ b/src/include/port/win32.h
@@ -297,7 +297,7 @@ extern void pgwin32_unsetenv(const char *);
#define putenv(x) pgwin32_putenv(x)
#define unsetenv(x) pgwin32_unsetenv(x)
-/* Things that exist in MingW headers, but need to be added to MSVC */
+/* Things that exist in MingW headers, but need to be added to MSVC & BCC */
#ifdef WIN32_ONLY_COMPILER
typedef long ssize_t;
#ifndef __BORLANDC__
@@ -335,4 +335,22 @@ typedef unsigned short mode_t;
/* Pulled from Makefile.port in mingw */
#define DLSUFFIX ".dll"
+#ifdef __BORLANDC__
+
+/* for port/dirent.c */
+#ifndef INVALID_FILE_ATTRIBUTES
+#define INVALID_FILE_ATTRIBUTES ((DWORD) -1)
+#endif
+
+/* for port/open.c */
+#ifndef O_RANDOM
+#define O_RANDOM 0x0010 /* File access is primarily random */
+#define O_SEQUENTIAL 0x0020 /* File access is primarily sequential */
+#define O_TEMPORARY 0x0040 /* Temporary file bit */
+#define O_SHORT_LIVED 0x1000 /* Temporary storage file, try not to flush */
+#define _O_SHORT_LIVED O_SHORT_LIVED
+#endif /* ifndef O_RANDOM */
+
+#endif /* __BORLANDC__ */
+
#endif
diff --git a/src/interfaces/libpq/bcc32.mak b/src/interfaces/libpq/bcc32.mak
index f45b245138..f109f27a36 100644
--- a/src/interfaces/libpq/bcc32.mak
+++ b/src/interfaces/libpq/bcc32.mak
@@ -62,7 +62,7 @@ OUTFILENAME=blibpq
USERDEFINES=FRONTEND;NDEBUG;WIN32;_WINDOWS
CPP=bcc32.exe
-CPP_PROJ = -I$(BCB)\include;..\..\include;..\..\include\port\win32;..\..\include\port\win32_msvc;..\..\port -n"$(INTDIR)" -WD -c -D$(USERDEFINES) -tWM \
+CPP_PROJ = -I..\..\include\port\win32_msvc;$(BCB)\include;..\..\include;..\..\include\port\win32;..\..\port -n"$(INTDIR)" -WD -c -D$(USERDEFINES) -tWM \
-a8 -X -w-use -w-par -w-pia -w-csu -w-aus -w-ccc
!IFDEF DEBUG
diff --git a/src/interfaces/libpq/libpq-int.h b/src/interfaces/libpq/libpq-int.h
index 47e97d1410..08201c5b00 100644
--- a/src/interfaces/libpq/libpq-int.h
+++ b/src/interfaces/libpq/libpq-int.h
@@ -55,6 +55,9 @@
#ifdef ENABLE_SSPI
#define SECURITY_WIN32
+#if defined(WIN32) && !defined(WIN32_ONLY_COMPILER)
+#include <ntsecapi.h>
+#endif
#include <security.h>
#undef SECURITY_WIN32