[net.sources.bugs] revised network blackjack game

jon@msunix.UUCP (08/01/86)

Dammit.  I didn't bother to make sure it ran on the VAX, and sure
enough, I've received a number of coomplaints that it doesn't run
on a VAX.  I tried to remove byte order problems so it could work
between a Sun and a VAX, but instead introduced more problems.
Not only did I use the wrong conversions for the wrong size arguments,
but the logic was wrong also.  Here is the sockio.c which works on the
Sun and VAX.


#include <stdio.h>
/*
 * Routines to send and receive on sockets.  Four bytes of length are
 * sent, followed by the null terminated string.
 *
 */
void sockread(s, buf)
int s;				/* socket to talk on */
char *buf;			/* string to send */
{
	int nbytes;

	(void) read(s, (char *) &nbytes, sizeof(int));
	nbytes = ntohl(nbytes);
	(void) read(s, buf, nbytes);
}


void sockwrite(s, buf)
int s;				/* socket to talk on */
char *buf;			/* string to read on */
{
	int nbytes, netnbytes;

	nbytes = strlen(buf) + 1;
	netnbytes = htonl(nbytes);
	(void) write(s, (char *) &netnbytes, sizeof(int));
	(void) write(s, buf, nbytes);
}