aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2010-12-12 13:43:44 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2010-12-12 13:43:44 -0500
commit5132ad8bdf8e85ea0054217ef7ee38c51ace4824 (patch)
tree4fdf3213f59d5e3dc2afedb2de51ffe31301173b /src
parent3864afa1d1478f7a76fde1ea160a7bc8f5d5b203 (diff)
downloadpostgresql-5132ad8bdf8e85ea0054217ef7ee38c51ace4824.tar.gz
postgresql-5132ad8bdf8e85ea0054217ef7ee38c51ace4824.zip
Make S_IRGRP etc available in mingw builds as well as MSVC.
(Hm, I wonder whether BCC defines them either...) Also label dangling endifs a bit better in this area.
Diffstat (limited to 'src')
-rw-r--r--src/include/port/win32.h30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/include/port/win32.h b/src/include/port/win32.h
index 64fa2e176bc..a9b9fcaf5b8 100644
--- a/src/include/port/win32.h
+++ b/src/include/port/win32.h
@@ -315,6 +315,7 @@ extern void pgwin32_unsetenv(const char *);
/* Things that exist in MingW headers, but need to be added to MSVC & BCC */
#ifdef WIN32_ONLY_COMPILER
+
#ifndef _WIN64
typedef long ssize_t;
#else
@@ -323,24 +324,15 @@ typedef __int64 ssize_t;
#ifndef __BORLANDC__
typedef unsigned short mode_t;
-#endif
-#ifndef __BORLANDC__
#define S_IRUSR _S_IREAD
#define S_IWUSR _S_IWRITE
#define S_IXUSR _S_IEXEC
#define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
-#define S_IRGRP 0
-#define S_IWGRP 0
-#define S_IXGRP 0
-#define S_IRWXG 0
-#define S_IROTH 0
-#define S_IWOTH 0
-#define S_IXOTH 0
-#define S_IRWXO 0
+/* see also S_IRGRP etc below */
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-#endif
+#endif /* __BORLANDC__ */
#define F_OK 0
#define W_OK 2
@@ -363,10 +355,22 @@ typedef unsigned short mode_t;
#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_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
+#endif /* WIN32_ONLY_COMPILER */
+
+/* These aren't provided by either MingW or MSVC */
+#ifndef __BORLANDC__
+#define S_IRGRP 0
+#define S_IWGRP 0
+#define S_IXGRP 0
+#define S_IRWXG 0
+#define S_IROTH 0
+#define S_IWOTH 0
+#define S_IXOTH 0
+#define S_IRWXO 0
+#endif /* __BORLANDC__ */