[net.sources.games] Bug in Trek73

amg@masscomp.UUCP (12/12/86)

In Trek73, the routine round is not declared in cmds2.c where it
is used.  This probably will not cause a problem for most people, but
at least with masscomp compilers, all floats are passed as doubles
on the stack and so the default definition of int round() will
not work.   This shows up when you use command 12.  This
can be fixed by adding
extern float round;
at the top of cmds2.c

Andrew Groh

darrylo@hpsrlc.HP.COM (Darryl Okahata) (12/16/86)

     For those who are trying to convert Trek73 to run on an
MSDOS machine, you'll have to change:

	time(0);

to

	time(NULL);

if you're using the large memory model.  In the first case,
an integer is passed to time(); in the second, a LONG is
passed to time().  A NULL, in the large memory model, is
defined as a LONG, and not as an integer.  If you pass zero
as an integer to time() (in the large memory model), time() will
think that you've passed a pointer to it and will happily
thrash some random location in memory.  All this was found with the
Microsoft C compiler, version 4.00, BTW.