Hello!
authorBruce Momjian
Thu, 8 Oct 1998 00:10:49 +0000 (00:10 +0000)
committerBruce Momjian
Thu, 8 Oct 1998 00:10:49 +0000 (00:10 +0000)
Here are two new patches for the Win32 support.

1) The patch based on the one from Hiroshi Inoue [[email protected]], to
load
Winsock.dll from libpq.dll.
2) A patch for psql.c to remove the call to WSAStartup(), since it is
not
required when it's done in libpq.dll.

I'm still looking for the possibility of having a crypt() function in
libpq.dll too, the same way getopt was included. Any chance of getting
this
before 6.4, or should we wait for the next one?

//Magnus

src/backend/commands/vacuum.c
src/bin/psql/psql.c
src/interfaces/libpq/libpqdll.c

index 1c6793241b7e825686e2aff9365da5f3b1d1770c..c58515e5b6ad8bfb4a52a85a261e78ebed2b8360 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.84 1998/10/07 22:31:50 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.85 1998/10/08 00:10:46 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -558,7 +558,6 @@ vc_vacone(Oid relid, bool analyze, List *va_cols)
                vacrelstats->num_tuples, vacrelstats->hasindex, vacrelstats);
 
    /* next command frees attribute stats */
-
    CommitTransactionCommand();
 }
 
index dfc91ee79437710fef716e68a18a6d42933b5c15..485ef54ecf54fa7eea70f10c4087461437f6eb15 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.161 1998/09/21 02:25:23 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.162 1998/10/08 00:10:47 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2724,18 +2724,6 @@ main(int argc, char **argv)
 
    char       *home = NULL;    /* Used to store $HOME */
 
-#ifdef WIN32
-   {
-       WSADATA     wsaData;
-
-       if (WSAStartup(MAKEWORD(1, 1), &wsaData))
-       {
-           fprintf(stderr, "Failed to start winsock: %i\n", WSAGetLastError());
-           exit(1);
-       }
-   }
-#endif
-
    MemSet(&settings, 0, sizeof settings);
    settings.opt.align = 1;
    settings.opt.header = 1;
index d8cb6b6a7479f715bac209414898039ef54f0848..5407c54e40912868d5df811eec7163d5d655228b 100644 (file)
@@ -1,8 +1,25 @@
 #define WIN32_LEAN_AND_MEAN
 #include 
+#include 
+
 BOOL       WINAPI
 DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
        LPVOID lpReserved)
 {
+   WSADATA wsaData;
+   switch (fdwReason) {
+       case DLL_PROCESS_ATTACH:
+           if (WSAStartup(MAKEWORD(1,1),&wsaData))
+           {
+               /* No really good way to do error handling here,
+                * since we don't know how we were loaded */
+               return FALSE;
+           }
+           break;
+       case DLL_PROCESS_DETACH:
+           WSACleanup();
+           break;
+   }
+
    return TRUE;
 }