dan@prairie.UUCP (Daniel M. Frank) (01/13/87)
Here are some diffs to do a bit of necessary tidying up for picky
architectures like the iAPX286. I would suggest that these be included
in the next official release; their only effect on other systems is
to make the thing lint cleaner.
These apply to the recent System V redistribution by djmolny. They
include a bug fix just posted for list handling.
I should mention that the -Ml flag should be used for compilation
under Microport Unix.
*** grammar.y.00 Tue Jan 13 09:55:48 1987
--- grammar.y Tue Jan 13 09:56:34 1987
***************
*** 24,29
%{
#include "include.h"
int errors = 0;
int line = 1;
--- 24,30 -----
%{
#include "include.h"
+ extern char *malloc(), *realloc() ;
int errors = 0;
int line = 1;
*** input.c.00 Tue Jan 13 08:32:34 1987
--- input.c Tue Jan 13 08:33:01 1987
***************
*** 291,297
base = shell;
else
base++;
! execl(shell, base, 0);
}
else
execl("/bin/sh", "sh", 0);
--- 291,297 -----
base = shell;
else
base++;
! execl(shell, base, (char *)0);
}
else
execl("/bin/sh", "sh", (char *)0);
***************
*** 294,300
execl(shell, base, 0);
}
else
! execl("/bin/sh", "sh", 0);
exit(0); /* oops */
}
--- 294,300 -----
execl(shell, base, (char *)0);
}
else
! execl("/bin/sh", "sh", (char *)0);
exit(0); /* oops */
}
*** list.c.00 Tue Jan 13 09:53:57 1987
--- list.c Tue Jan 13 10:16:22 1987
***************
*** 12,17
PLANE *
newplane()
{
return ((PLANE *) calloc(1, sizeof (PLANE)));
}
--- 12,19 -----
PLANE *
newplane()
{
+ extern char *calloc() ;
+
return ((PLANE *) calloc(1, sizeof (PLANE)));
}
***************
*** 46,51
}
} else {
l->tail->next = p;
p->prev = l->tail;
l->tail = p;
}
--- 48,54 -----
}
} else {
l->tail->next = p;
+ p->next = NULL ;
p->prev = l->tail;
l->tail = p;
}
*** log.c.00 Tue Jan 13 08:31:52 1987
--- log.c Tue Jan 13 10:10:19 1987
***************
*** 47,52
return (s);
}
log_score(list_em)
{
register int i, fd, num_scores = 0, good, changed = 0, found = 0;
--- 47,54 -----
return (s);
}
+ static SCORE score[100] ; /* can't put this on stack on iAPX286 */
+
log_score(list_em)
{
register int i, fd, num_scores = 0, good, changed = 0, found = 0;
***************
*** 53,59
struct passwd *pw;
FILE *fp;
char *cp, logstr[BUFSIZ];
! SCORE score[100], thisscore;
#ifdef SYSV
struct utsname name;
#endif
--- 55,61 -----
struct passwd *pw;
FILE *fp;
char *cp, logstr[BUFSIZ];
! SCORE thisscore;
#ifdef SYSV
struct utsname name;
#endif
***************
*** 57,62
#ifdef SYSV
struct utsname name;
#endif
strcpy(logstr, SPECIAL_DIR);
strcat(logstr, LOG);
--- 59,66 -----
#ifdef SYSV
struct utsname name;
#endif
+ extern long time() ;
+ extern struct passwd *getpwuid() ;
strcpy(logstr, SPECIAL_DIR);
strcat(logstr, LOG);
***************
*** 126,132
thisscore.time = clock;
thisscore.planes = safe_planes;
! thisscore.real_time = time(0) - start_time;
for (i = 0; i < num_scores; i++) {
if (strcmp(thisscore.name, score[i].name) == 0 &&
--- 130,136 -----
thisscore.time = clock;
thisscore.planes = safe_planes;
! thisscore.real_time = time((long *)0) - start_time;
for (i = 0; i < num_scores; i++) {
if (strcmp(thisscore.name, score[i].name) == 0 &&
*** main.c.00 Tue Jan 13 08:32:14 1987
--- main.c Tue Jan 13 08:36:34 1987
***************
*** 22,27
#endif
extern int update(), quit(), log_score();
extern char *default_game(), *okay_game();
start_time = seed = time(0);
--- 22,28 -----
#endif
extern int update(), quit(), log_score();
extern char *default_game(), *okay_game();
+ extern long time() ;
start_time = seed = time((long *)0);
***************
*** 23,29
extern int update(), quit(), log_score();
extern char *default_game(), *okay_game();
! start_time = seed = time(0);
name = *av++;
while (*av) {
--- 24,30 -----
extern char *default_game(), *okay_game();
extern long time() ;
! start_time = seed = time((long *)0);
name = *av++;
while (*av) {
--
Dan Frank
uucp: ... uwvax!prairie!dan
arpa: dan%caseus@spool.wisc.edu