Index: configure.in
===================================================================
RCS file: /projects/cvsroot/pgsql-server/configure.in,v
retrieving revision 1.319
diff -c -r1.319 configure.in
*** configure.in	9 Mar 2004 22:40:10 -0000	1.319
--- configure.in	15 Mar 2004 23:07:40 -0000
***************
*** 907,912 ****
--- 907,913 ----
  case $host_os in mingw*)
  AC_LIBOBJ(copydir)
  AC_LIBOBJ(gettimeofday)
+ AC_LIBOBJ(open)
  AC_LIBOBJ(pipe)
  AC_LIBOBJ(rand) ;;
  esac
Index: src/include/port.h
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/include/port.h,v
retrieving revision 1.22
diff -c -r1.22 port.h
*** src/include/port.h	10 Mar 2004 21:12:46 -0000	1.22
--- src/include/port.h	15 Mar 2004 23:07:53 -0000
***************
*** 50,55 ****
--- 50,60 ----
  #endif
  
  #ifdef WIN32
+ 
+ /* open() replacement to allow delete of held files */
+ extern int	win32_open(const char*,int,...);
+ #define 	open(a,b,...)	win32_open(a,b,##__VA_ARGS__)
+ 
  extern int	copydir(char *fromdir, char *todir);
  
  /* Missing rand functions */
Index: src/interfaces/libpq/Makefile
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/Makefile,v
retrieving revision 1.99
diff -c -r1.99 Makefile
*** src/interfaces/libpq/Makefile	12 Mar 2004 04:33:41 -0000	1.99
--- src/interfaces/libpq/Makefile	15 Mar 2004 23:07:53 -0000
***************
*** 23,29 ****
  OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o \
        fe-protocol2.o fe-protocol3.o pqexpbuffer.o pqsignal.o fe-secure.o \
        dllist.o md5.o ip.o wchar.o encnames.o \
!       $(filter crypt.o getaddrinfo.o inet_aton.o noblock.o snprintf.o strerror.o path.o thread.o, $(LIBOBJS))
  ifeq ($(PORTNAME), win32)
  OBJS+=win32.o
  endif
--- 23,29 ----
  OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o \
        fe-protocol2.o fe-protocol3.o pqexpbuffer.o pqsignal.o fe-secure.o \
        dllist.o md5.o ip.o wchar.o encnames.o \
!       $(filter crypt.o getaddrinfo.o inet_aton.o noblock.o snprintf.o strerror.o open.o path.o thread.o, $(LIBOBJS))
  ifeq ($(PORTNAME), win32)
  OBJS+=win32.o
  endif
***************
*** 52,58 ****
  # For port modules, this only happens if configure decides the module
  # is needed (see filter hack in OBJS, above).
  
! crypt.c getaddrinfo.c inet_aton.c noblock.c snprintf.c strerror.c path.c thread.c: % : $(top_srcdir)/src/port/%
  	rm -f $@ && $(LN_S) $< .
  
  md5.c ip.c: % : $(backend_src)/libpq/%
--- 52,58 ----
  # For port modules, this only happens if configure decides the module
  # is needed (see filter hack in OBJS, above).
  
! crypt.c getaddrinfo.c inet_aton.c noblock.c snprintf.c strerror.c open.c path.c thread.c: % : $(top_srcdir)/src/port/%
  	rm -f $@ && $(LN_S) $< .
  
  md5.c ip.c: % : $(backend_src)/libpq/%
Index: src/interfaces/libpq/win32.h
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/win32.h,v
retrieving revision 1.23
diff -c -r1.23 win32.h
*** src/interfaces/libpq/win32.h	14 Jun 2003 17:49:54 -0000	1.23
--- src/interfaces/libpq/win32.h	15 Mar 2004 23:07:54 -0000
***************
*** 16,22 ****
  #define _strnicmp(a,b,c) strnicmp(a,b,c)
  #define _errno errno
  #else
! #define open(a,b,c) _open(a,b,c)
  #define close(a) _close(a)
  #define read(a,b,c) _read(a,b,c)
  #define write(a,b,c) _write(a,b,c)
--- 16,22 ----
  #define _strnicmp(a,b,c) strnicmp(a,b,c)
  #define _errno errno
  #else
! /* open provided elsewhere */
  #define close(a) _close(a)
  #define read(a,b,c) _read(a,b,c)
  #define write(a,b,c) _write(a,b,c)
