From 0476bbbc9be45358c6e8e5449555adf4d7fe33d3 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sun, 29 Aug 2004 02:58:50 +0000
Subject: [PATCH] Several Cygwin fixes pointed out by Reini Urban.

---
 src/backend/utils/mmgr/mcxt.c |  5 +++--
 src/port/dirmod.c             | 15 ++++++++++++---
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c
index 28e9d26a2f9..5cf364fa100 100644
--- a/src/backend/utils/mmgr/mcxt.c
+++ b/src/backend/utils/mmgr/mcxt.c
@@ -14,7 +14,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/mmgr/mcxt.c,v 1.47 2004/08/08 06:44:32 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/mmgr/mcxt.c,v 1.48 2004/08/29 02:58:50 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -631,7 +631,7 @@ MemoryContextStrdup(MemoryContext context, const char *string)
 }
 
 
-#ifdef WIN32
+#if defined(WIN32) || defined(__CYGWIN__)
 /*
  *	Memory support routines for libpgport on Win32
  *
@@ -649,6 +649,7 @@ pgport_palloc(Size sz)
 	return palloc(sz);
 }
 
+
 char *
 pgport_pstrdup(const char *str)
 {
diff --git a/src/port/dirmod.c b/src/port/dirmod.c
index 1c9ad19c0c5..ba01a3d7fe6 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.19 2004/08/29 01:44:02 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/port/dirmod.c,v 1.20 2004/08/29 02:58:50 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -31,18 +31,27 @@
 
 #if defined(WIN32) || defined(__CYGWIN__)
 
-
 #include "miscadmin.h"
-#include <winioctl.h>
 
 #undef rename
 #undef unlink
 
+#ifdef __WIN32__
+#include <winioctl.h>
+#else
+/* __CYGWIN__ */
+#include <windows.h>
+#include <w32api/winioctl.h>
+#endif
+
 #ifndef FRONTEND
 /*
  *	Call non-macro versions of palloc, can't reference CurrentMemoryContext
  *	because of DLLIMPORT.
  */
+#undef palloc
+#undef pstrdup
+#undef pfree
 #define palloc(sz)		pgport_palloc(sz)
 #define pstrdup(str)	pgport_pstrdup(str)
 #define pfree(pointer)	pgport_pfree(pointer)
-- 
GitLab