Craps diffs
Ray Tripamer
ray at unlv.UUCP
Mon Mar 3 07:44:03 AEST 1986
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,
More information about the Comp.sources.unix
mailing list