aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/include/port.h14
-rw-r--r--src/port/dirmod.c8
2 files changed, 15 insertions, 7 deletions
diff --git a/src/include/port.h b/src/include/port.h
index e60bc60f02d..e6bde3de6e0 100644
--- a/src/include/port.h
+++ b/src/include/port.h
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/port.h,v 1.63 2004/09/27 23:24:37 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/port.h,v 1.64 2004/10/11 22:50:33 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -167,8 +167,6 @@ extern int pclose_check(FILE *stream);
*/
extern int pgrename(const char *from, const char *to);
extern int pgunlink(const char *path);
-extern int pgsymlink(const char *oldpath, const char *newpath);
-
/* Include this first so later includes don't see these defines */
#ifdef WIN32_CLIENT_ONLY
#include <io.h>
@@ -176,9 +174,19 @@ extern int pgsymlink(const char *oldpath, const char *newpath);
#define rename(from, to) pgrename(from, to)
#define unlink(path) pgunlink(path)
+
+/*
+ * Cygwin has its own symlinks which work on Win95/98/ME where
+ * junction points don't, so use it instead. We have no way of
+ * knowing what type of system Cygwin binaries will be run on.
+ */
+#ifdef WIN32
+extern int pgsymlink(const char *oldpath, const char *newpath);
#define symlink(oldpath, newpath) pgsymlink(oldpath, newpath)
#endif
+#endif
+
extern bool rmtree(char *path, bool rmtopdir);
#ifdef WIN32
diff --git a/src/port/dirmod.c b/src/port/dirmod.c
index 1141138984d..ca90f0263d1 100644
--- a/src/port/dirmod.c
+++ b/src/port/dirmod.c
@@ -10,7 +10,7 @@
* Win32 (NT, Win2k, XP). replace() doesn't work on Win95/98/Me.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/port/dirmod.c,v 1.27 2004/09/27 19:16:02 momjian Exp $
+ * $PostgreSQL: pgsql/src/port/dirmod.c,v 1.28 2004/10/11 22:50:48 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -142,6 +142,7 @@ pgunlink(const char *path)
}
+#ifdef WIN32 /* Cygwin has its own symlinks */
/*
* pgsymlink support:
*
@@ -160,9 +161,7 @@ typedef struct
WORD PrintNameOffset;
WORD PrintNameLength;
WCHAR PathBuffer[1];
-}
-
- REPARSE_JUNCTION_DATA_BUFFER;
+} REPARSE_JUNCTION_DATA_BUFFER;
#define REPARSE_JUNCTION_DATA_BUFFER_HEADER_SIZE \
FIELD_OFFSET(REPARSE_JUNCTION_DATA_BUFFER, SubstituteNameOffset)
@@ -246,6 +245,7 @@ pgsymlink(const char *oldpath, const char *newpath)
return 0;
}
#endif
+#endif
/* We undefined this above, so we redefine it */