Index: bcc32.mak =================================================================== RCS file: /projects/cvsroot/pgsql/src/interfaces/libpq/bcc32.mak,v retrieving revision 1.26 diff -c -r1.26 bcc32.mak *** bcc32.mak 11 Jan 2007 02:42:31 -0000 1.26 --- bcc32.mak 8 Mar 2007 15:23:17 -0000 *************** *** 93,99 **** -@erase "$(INTDIR)\fe-secure.obj" -@erase "$(INTDIR)\pqexpbuffer.obj" -@erase "$(INTDIR)\pqsignal.obj" - -@erase "$(OUTDIR)\libpqdll.obj" -@erase "$(OUTDIR)\win32.obj" -@erase "$(INTDIR)\wchar.obj" -@erase "$(INTDIR)\encnames.obj" --- 93,98 ---- *************** *** 155,168 **** LINK32=ilink32.exe LINK32_FLAGS = -Gn -L$(BCB)\lib;$(INTDIR); -x -Tpd -v - LINK32_OBJS= "$(INTDIR)\libpqdll.obj" # @<< is a Response file, http://www.opussoftware.com/tutorial/TutMakefile.htm ! "$(OUTDIR)\blibpq.dll": "$(OUTDIR)\blibpq.lib" $(LINK32_OBJS) "$(INTDIR)\libpq.res" blibpqdll.def $(LINK32) @<< $(LINK32_FLAGS) + ! c0d32.obj $(LINK32_OBJS), + $@,, + "$(OUTDIR)\blibpq.lib" import32.lib cw32mt.lib, + blibpqdll.def,"$(INTDIR)\libpq.res" --- 154,166 ---- LINK32=ilink32.exe LINK32_FLAGS = -Gn -L$(BCB)\lib;$(INTDIR); -x -Tpd -v # @<< is a Response file, http://www.opussoftware.com/tutorial/TutMakefile.htm ! "$(OUTDIR)\blibpq.dll": "$(OUTDIR)\blibpq.lib" "$(INTDIR)\libpq.res" blibpqdll.def $(LINK32) @<< $(LINK32_FLAGS) + ! c0d32.obj , + $@,, + "$(OUTDIR)\blibpq.lib" import32.lib cw32mt.lib, + blibpqdll.def,"$(INTDIR)\libpq.res" Index: fe-connect.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v retrieving revision 1.344 diff -c -r1.344 fe-connect.c *** fe-connect.c 20 Feb 2007 15:20:51 -0000 1.344 --- fe-connect.c 8 Mar 2007 15:42:59 -0000 *************** *** 1840,1848 **** #ifdef WIN32 /* ! * Make sure socket support is up and running. Even though this is done in ! * libpqdll.c, that is only for MSVC and BCC builds and doesn't work for ! * static builds at all, so we have to do it in the main code too. */ WSADATA wsaData; --- 1840,1846 ---- #ifdef WIN32 /* ! * Make sure socket support is up and running. */ WSADATA wsaData; *************** *** 1853,1859 **** --- 1851,1862 ---- conn = (PGconn *) malloc(sizeof(PGconn)); if (conn == NULL) + { + #ifdef WIN32 + WSACleanup(); + #endif return conn; + } /* Zero all pointers and booleans */ MemSet(conn, 0, sizeof(PGconn)); *************** *** 1918,1927 **** PGnotify *notify; pgParameterStatus *pstatus; - #ifdef WIN32 - WSACleanup(); - #endif - if (!conn) return; --- 1921,1926 ---- *************** *** 1986,1991 **** --- 1985,1994 ---- termPQExpBuffer(&conn->errorMessage); termPQExpBuffer(&conn->workBuffer); free(conn); + + #ifdef WIN32 + WSACleanup(); + #endif } /* Index: win32.mak =================================================================== RCS file: /projects/cvsroot/pgsql/src/interfaces/libpq/win32.mak,v retrieving revision 1.43 diff -c -r1.43 win32.mak *** win32.mak 11 Jan 2007 02:42:31 -0000 1.43 --- win32.mak 8 Mar 2007 15:22:29 -0000 *************** *** 63,69 **** -@erase "$(INTDIR)\fe-secure.obj" -@erase "$(INTDIR)\pqexpbuffer.obj" -@erase "$(INTDIR)\pqsignal.obj" - -@erase "$(OUTDIR)\libpqdll.obj" -@erase "$(OUTDIR)\win32.obj" -@erase "$(INTDIR)\wchar.obj" -@erase "$(INTDIR)\encnames.obj" --- 63,68 ---- *************** *** 143,149 **** /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\$(OUTFILENAME).dll"\ /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" /def:$(OUTFILENAME)dll.def LINK32_OBJS= \ - "$(INTDIR)\libpqdll.obj" \ "$(OUTDIR)\$(OUTFILENAME).lib" \ "$(OUTDIR)\libpq.res" --- 142,147 ---- *************** *** 159,165 **** $(RSC) $(RSC_PROJ) libpq.rc ! "$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(OUTDIR)\libpqdll.obj" "$(INTDIR)\libpqdll.obj" "$(INTDIR)\libpq.res" $(LINK32) @<< $(LINK32_FLAGS) $(LINK32_OBJS) << --- 157,163 ---- $(RSC) $(RSC_PROJ) libpq.rc ! "$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(INTDIR)\libpq.res" $(LINK32) @<< $(LINK32_FLAGS) $(LINK32_OBJS) <<