[comp.sys.ibm.pc.rt] Patch for NFS utilities

brunner@bullhead.uucp (12/05/89)

Subject: Patch for nfs utilities
Index: /usr/src/nfs IBM/4.3

Description:
	Byte alignment errors result in occasional intermittent errors
	in several nfs applications.

Fix:	Change directories to /usr/src/nfs and apply the following
	patch, e.g.,

		patch -p1 < this_file

diff -r -c nfs.dist/etc/spray.c nfs.fixed/etc/spray.c
*** nfs.dist/etc/spray.c	Fri Dec  9 11:48:37 1988
--- nfs.fixed/etc/spray.c	Mon Nov 27 10:21:05 1989
***************
*** 108,114 ****
--- 108,119 ----
  			fprintf(stderr, "%s is unknown host name\n", host);
  			exit(1);
  		}
+ #ifdef ibm032
+ 		memcpy(&adr,hp->h_addr,4);
+ #else
+ 
  		adr = *((int *)hp->h_addr);
+ #endif ibm032
  	}
  	if (icmp)
  		doicmp(adr, delay);
diff -r -c nfs.dist/etc/yp/yppoll.c nfs.fixed/etc/yp/yppoll.c
*** nfs.dist/etc/yp/yppoll.c	Fri Dec  9 11:47:39 1988
--- nfs.fixed/etc/yp/yppoll.c	Mon Nov 27 10:22:07 1989
***************
*** 275,281 ****
--- 275,285 ----
  		exit(1);
  	}
  	
+ #ifdef ibm032
+ 	memcpy(&host_addr.s_addr, hp->h_addr, 4);
+ #else
  	host_addr.s_addr = *(u_long *)hp->h_addr;
+ #endif ibm032
  }
  
  void
diff -r -c nfs.dist/etc/yp/yppush.c nfs.fixed/etc/yp/yppush.c
*** nfs.dist/etc/yp/yppush.c	Fri Dec  9 11:47:42 1988
--- nfs.fixed/etc/yp/yppush.c	Mon Nov 27 10:22:18 1989
***************
*** 419,426 ****
--- 419,431 ----
  	ps->oldvers = FALSE;
  	
  	if (h = (struct hostent *) gethostbyname(name) ) {
+ #ifdef ibm032
+ 		memcpy(&ps->domb.dom_server_addr.sin_addr, 
+ 			h->h_addr, 4);
+ #else
  		ps->domb.dom_server_addr.sin_addr =
  		    *((struct in_addr *) h->h_addr);
+ #endif ibm032
  		ps->domb.dom_server_addr.sin_family = AF_INET;
  		ps->domb.dom_server_addr.sin_port = 0;
  		ps->domb.dom_server_port = 0;
diff -r -c nfs.dist/ucb/rusers.c nfs.fixed/ucb/rusers.c
*** nfs.dist/ucb/rusers.c	Fri Dec  9 11:48:47 1988
--- nfs.fixed/ucb/rusers.c	Mon Nov 27 10:23:12 1989
***************
*** 170,176 ****
--- 170,180 ----
  		fprintf("Yikes!: can't find host name!\n");
  		exit(1);
  	}
+ #ifdef ibm032
+ 	memcpy( (caddr_t)&addr.sin_addr,hp->h_addr,4);
+ #else
  	addr.sin_addr.s_addr = *(int *)hp->h_addr;
+ #endif ibm032
  	collectnames(&utmpidlearr, &addr);
  	return;
  }
diff -r -c nfs.dist/usr.bin/ypwhich.c nfs.fixed/usr.bin/ypwhich.c
*** nfs.dist/usr.bin/ypwhich.c	Fri Dec  9 11:49:14 1988
--- nfs.fixed/usr.bin/ypwhich.c	Mon Nov 27 10:24:09 1989
***************
*** 378,384 ****
--- 378,388 ----
  		exit(1);
  	}
  	
+ #ifdef ibm032
+ 	memcpy(&host_addr.s_addr, hp->h_addr, 4);
+ #else
  	host_addr.s_addr = *(u_long *)hp->h_addr;
+ #endif ibm032
  }
  
  /*

Eric Brunner, Consultant, IBM AWD Palo Alto	(415) 855-4486
inet: brunner@monet.berkeley.edu
uucp: uunet!ibmsupt!brunner