[net.sources.games] Mods to Search to run on 4.3

steveh@hammer.UUCP (Stephen Hemminger) (08/14/85)

RCS file: RCS/ipc.c,v
Retrieving revision 2.1
diff -b -c -r2.1 ipc.c
*** /tmp/,RCSt1029981	Tue Aug 13 16:14:41 1985
--- ipc.c	Tue Aug 13 16:13:26 1985
***************
*** 1,5
  #ifndef lint
! static char rcsid[] = "$Header: ipc.c,v 2.1 85/04/10 17:31:13 matt Stab $";
  #endif
  /*
   *

--- 1,5 -----
  #ifndef lint
! static char rcsid[] = "$Header: ipc.c,v 2.3 85/08/13 16:13:07 steveh Exp $";
  #endif
  /*
   *
***************
*** 17,24
   * Copyright (c) 1984
   *
   * $Log:	ipc.c,v $
!  * Revision 2.1  85/04/10  17:31:13  matt
!  * sources from net
   * 
   * Revision 2.1  85/04/10  17:31:13  matt
   * Major de-linting and minor restructuring.

--- 17,24 -----
   * Copyright (c) 1984
   *
   * $Log:	ipc.c,v $
!  * Revision 2.3  85/08/13  16:13:07  steveh
!  * more 4.3 mods
   * 
   * Revision 2.2  85/08/13  14:35:50  steveh
   * mods for 4.3.
***************
*** 20,25
   * Revision 2.1  85/04/10  17:31:13  matt
   * sources from net
   * 
   * Revision 2.1  85/04/10  17:31:13  matt
   * Major de-linting and minor restructuring.
   * 

--- 20,28 -----
   * Revision 2.3  85/08/13  16:13:07  steveh
   * more 4.3 mods
   * 
+  * Revision 2.2  85/08/13  14:35:50  steveh
+  * mods for 4.3.
+  * 
   * Revision 2.1  85/04/10  17:31:13  matt
   * Major de-linting and minor restructuring.
   * 
***************
*** 135,140
  	/*
  	 * don't take forever when we close the socket!
  	 */
  	if (setsockopt(newsock, SOL_SOCKET, SO_DONTLINGER, 0, 0))
  		errlog("error in setsockopt call\n");
  	/*

--- 138,144 -----
  	/*
  	 * don't take forever when we close the socket!
  	 */
+ #ifdef SO_DONTLINGER
  	if (setsockopt(newsock, SOL_SOCKET, SO_DONTLINGER, 0, 0))
  		errlog("error in setsockopt call\n");
  #else
***************
*** 137,142
  	 */
  	if (setsockopt(newsock, SOL_SOCKET, SO_DONTLINGER, 0, 0))
  		errlog("error in setsockopt call\n");
  	/*
  	 * Sure hope the following read gives all the data in
  	 * one shot.  It isn't guaranteed to, you know!

--- 141,154 -----
  #ifdef SO_DONTLINGER
  	if (setsockopt(newsock, SOL_SOCKET, SO_DONTLINGER, 0, 0))
  		errlog("error in setsockopt call\n");
+ #else
+ 	{ struct linger linger;
+ 	  linger.l_onoff = 0; linger.l_linger = 0;
+ 
+ 	  if (setsockopt(newsock, SOL_SOCKET, SO_LINGER, &linger, sizeof(linger)))
+ 		errlog("error in setsockopt call\n");
+ 	}
+ #endif
  	/*
  	 * Sure hope the following read gives all the data in
  	 * one shot.  It isn't guaranteed to, you know!
***************
*** 222,227
  	extern	int in_sock;
  	char	hostname[40];
  	struct	servent *serv;
  #endif
  	char	buf[255];
  

--- 234,240 -----
  	extern	int in_sock;
  	char	hostname[40];
  	struct	servent *serv;
+ 	int	on = 1;
  #endif
  	char	buf[255];
  
***************
*** 246,252
  		in_addr.sin_port = htons((short)port);
  	} else
  		in_addr.sin_port = serv->s_port;
! 	if (setsockopt(in_sock, SOL_SOCKET, SO_REUSEADDR, 0, 0) < 0)
  		errlog("error in setsockopt (SO_REUSEADDR)\n");
  	if (bind(in_sock, (struct sockaddr *)&in_addr, sizeof(in_addr))) {
  		errlog("error binding internet port\n");

--- 259,265 -----
  		in_addr.sin_port = htons((short)port);
  	} else
  		in_addr.sin_port = serv->s_port;
! 	if (setsockopt(in_sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0)
  		errlog("error in setsockopt (SO_REUSEADDR)\n");
  	if (bind(in_sock, (struct sockaddr *)&in_addr, sizeof(in_addr))) {
  		errlog("error binding internet port\n");