[net.sources] Craps diffs

ray@unlv.UUCP (Ray Tripamer) (03/03/86)

Thanks to Joe Flake from NCR for the diffs for SYSV machines.  I've
put them into my source, and here are the diffs for the Makefile,
random.c, and final.c.  Note:  I found a small bug in final.c.  It
seems that if you compile w/o the #define SCORES, the compiler blows
up because the variable "sfile" (note the variable name change) is
undefined in myexit().  This is fixed.  Also, as stated above, I've
changed the variable *file to *sfile.  It seems there was a clash
in the <sys/file.h> include file on SysV.
					--Ray Tripamer
					University of Nevada, Las Vegas	
					!seismo!unrvax!unlv!ray

------------------------- diffs for Makefile -----------------------------
*** Makefile	Sun Mar  2 13:10:55 1986
--- Makefile.old	Sun Mar  2 13:23:02 1986
***************
*** 7,13 ****
  #
  #	-DBSD42		for Berkeley Unix 4.2
  #	-DBSD29		for Berkeley Unix 2.9
- #	-DSYSV		for System V machines
  #
  CFLAGS  =	-O -DBSD42
  
--- 7,12 ----

------------------------ diffs for random.c -------------------------------
*** random.c	Sun Mar  2 13:10:22 1986
--- random.c.old	Sun Mar  2 13:23:30 1986
***************
*** 13,33 ****
  #ifdef BSD42
  	struct timeval tp;
  	struct timezone tpz;
  
  	gettimeofday(&tp,&tpz);
  	srandom((int)tp.tv_sec);
! #endif
! #ifdef BSD29
  	randomize();
  #endif
- #ifdef SYSV
- 	long seed;
- 	long time();
- 	void srand48();
- 
- 	time(&seed);
- 	srand48(seed);
- #endif
  }
  
  /*
--- 13,26 ----
  #ifdef BSD42
  	struct timeval tp;
  	struct timezone tpz;
+ #endif
  
+ #ifdef BSD42
  	gettimeofday(&tp,&tpz);
  	srandom((int)tp.tv_sec);
! #else
  	randomize();
  #endif
  }
  
  /*
***************
*** 38,51 ****
  {
  #ifdef BSD42
  	long random();
! 	return( (int) random() % 6 + 1);
! #endif
! #ifdef BSD29
  	double ranm();
- 	return( (int) (ranm() * 6.0) + 1.0);
  #endif
! #ifdef SYSV
! 	double drand48();
! 	return( (int) (drand48() * 6.0) + 1.0);
  #endif
  }
--- 31,43 ----
  {
  #ifdef BSD42
  	long random();
! #else
  	double ranm();
  #endif
! 
! #ifdef BSD42
! 	return( (int) random() % 6 + 1);
! #else
! 	return( (int) (ranm() * 6.0) + 1.0);
  #endif
  }

-------------------------- diffs for final.c --------------------------------
*** final.c	Sun Mar  2 13:20:08 1986
--- nfinal.c	Sun Mar  2 13:18:18 1986
***************
*** 10,20 ****
   *
   */
  
! #ifdef	SCORES
! char *file="/users/intern/ray/craps.list";
! char *reclock="/users/intern/ray/craps.lock";
  
! 
  typedef struct node {
  	struct node *next;
  	int uid;
--- 10,19 ----
   *
   */
  
! char *sfile="/usr/games/lib/craps.list";
! char *reclock="/usr/games/lib/craps.lock";
  
! #ifdef	SCORES
  typedef struct node {
  	struct node *next;
  	int uid;
***************
*** 39,45 ****
  	clear(); refresh();
  	signal(SIGHUP,SIG_IGN);
  	signal(SIGINT,SIG_IGN);
! 	while(link(file, reclock) == -1) {
  		perror(reclock);
  		if(!sleepct--) {
  			puts("I give up. Sorry.");
--- 38,44 ----
  	clear(); refresh();
  	signal(SIGHUP,SIG_IGN);
  	signal(SIGINT,SIG_IGN);
! 	while(link(sfile, reclock) == -1) {
  		perror(reclock);
  		if(!sleepct--) {
  			puts("I give up. Sorry.");
***************
*** 51,68 ****
  		fflush(stdout);
  		sleep(1);
  	}
! 	if((list=fopen(file,"r"))==NULL) {
! 		fprintf(stderr,"can't open %s\n",file);
  		myexit();
  		return(0);
  	}
  	while((fscanf(list,"%d %f %ld %s",&i,&x,&l,s))!=EOF) n++;
  	rewind(list);
  	score=(scores *)malloc((n+1)*sizeof(scores));
  	cuid=getuid();
  	i=0;
  	while(1) {
  		if((fscanf(list,"%d %f %ld %s",
  			&score[i].uid,
  			&score[i].amt,
  			&score[i].ngames,
--- 50,75 ----
  		fflush(stdout);
  		sleep(1);
  	}
! 	if((list=fopen(sfile,"r"))==NULL) {
! 		fprintf(stderr,"can't open %s\n",sfile);
  		myexit();
  		return(0);
  	}
+ #ifdef SYSV
+ 	while((fscanf(list,"%d %lf %ld %s",&i,&x,&l,s))!=EOF) n++;
+ #else
  	while((fscanf(list,"%d %f %ld %s",&i,&x,&l,s))!=EOF) n++;
+ #endif
  	rewind(list);
  	score=(scores *)malloc((n+1)*sizeof(scores));
  	cuid=getuid();
  	i=0;
  	while(1) {
+ #ifdef SYSV
+ 		if((fscanf(list,"%d %lf %ld %s",
+ #else
  		if((fscanf(list,"%d %f %ld %s",
+ #endif
  			&score[i].uid,
  			&score[i].amt,
  			&score[i].ngames,
***************
*** 81,92 ****
  		score[n].amt = (wins-loss);
  		score[n].ngames = 1;
  		if(getenv("CRAPSNAME")==NULL)
  			strcpy(score[n].name,getenv("USER"));
  		else strcpy(score[n].name,getenv("CRAPSNAME"));
  		n++;
  	}
  	qsort(score,n,sizeof(scores),comp);
! 	list=fopen(file,"w");
  	for(i=0;i<n;i++)
  		fprintf(list,"%d %.2f %ld %s\n",
  		score[i].uid,
--- 88,103 ----
  		score[n].amt = (wins-loss);
  		score[n].ngames = 1;
  		if(getenv("CRAPSNAME")==NULL)
+ #ifdef	SYSV
+ 			strcpy(score[n].name,getenv("LOGNAME"));
+ #else
  			strcpy(score[n].name,getenv("USER"));
+ #endif
  		else strcpy(score[n].name,getenv("CRAPSNAME"));
  		n++;
  	}
  	qsort(score,n,sizeof(scores),comp);
! 	list=fopen(sfile,"w");
  	for(i=0;i<n;i++)
  		fprintf(list,"%d %.2f %ld %s\n",
  		score[i].uid,