* 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 $
*
*-------------------------------------------------------------------------
*/
*/
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>
#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
* 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 $
*
*-------------------------------------------------------------------------
*/
}
+#ifdef WIN32 /* Cygwin has its own symlinks */
/*
* pgsymlink support:
*
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)
return 0;
}
#endif
+#endif
/* We undefined this above, so we redefine it */