diff -u -r cvs-1.9.10.orig/src/root.c cvs-1.9.10/src/root.c --- cvs-1.9.10.orig/src/root.c Tue Jun 17 20:49:03 1997 +++ cvs-1.9.10/src/root.c Mon Jul 21 04:52:07 1997 @@ -384,7 +384,7 @@ CVSroot_method = ((strchr (cvsroot_copy, ':')) #ifdef RSH_NOT_TRANSPARENT - ? server_method + ? (getenv("CVS_RSH") ? ext_method : server_method) #else ? ext_method #endif diff -u -r cvs-1.9.10.orig/windows-NT/rcmd.c cvs-1.9.10/windows-NT/rcmd.c --- cvs-1.9.10.orig/windows-NT/rcmd.c Tue Jun 17 21:35:51 1997 +++ cvs-1.9.10/windows-NT/rcmd.c Wed Jul 16 00:39:31 1997 @@ -16,6 +16,7 @@ #include #include #include +#include "config.h" #ifdef HAVE_WINSOCK_H #include diff -u -r cvs-1.9.10.orig/windows-NT/startserver.c cvs-1.9.10/windows-NT/startserver.c --- cvs-1.9.10.orig/windows-NT/startserver.c Tue Apr 08 09:14:59 1997 +++ cvs-1.9.10/windows-NT/startserver.c Thu Jul 17 01:32:59 1997 @@ -10,6 +10,8 @@ #include #include +static int server = 0; + void wnt_start_server (int *tofd, int *fromfd, char *client_user, @@ -52,6 +54,7 @@ *tofd = read_fd; *fromfd = read_fd; free (command); + server = 1; } @@ -60,11 +63,15 @@ { SOCKET s; - s = fd; - if (shutdown (s, 2) == SOCKET_ERROR) - error (1, 0, "couldn't shutdown server connection: %s", - SOCK_STRERROR (SOCK_ERRNO)); - if (closesocket (s) == SOCKET_ERROR) - error (1, 0, "couldn't close server connection: %s", - SOCK_STRERROR (SOCK_ERRNO)); + if (server == 1) { + s = fd; + if (shutdown (s, 2) == SOCKET_ERROR) + error (1, 0, "couldn't shutdown server connection: %s", + SOCK_STRERROR (SOCK_ERRNO)); + if (closesocket (s) == SOCKET_ERROR) + error (1, 0, "couldn't close server connection: %s", + SOCK_STRERROR (SOCK_ERRNO)); + } else { + close(fd); + } } diff -u -r cvs-1.9.10.orig/windows-NT/win32.c cvs-1.9.10/windows-NT/win32.c --- cvs-1.9.10.orig/windows-NT/win32.c Tue Jun 17 21:35:51 1997 +++ cvs-1.9.10/windows-NT/win32.c Wed Jul 16 00:38:03 1997 @@ -10,7 +10,7 @@ #define WIN32_LEAN_AND_MEAN #include - +#include #include void