Newsgroups: rec.games.int-fiction
Path: gmd.de!ira.uka.de!sol.ctr.columbia.edu!usc!sdd.hp.com!ux1.cso.uiuc.edu!news.cso.uiuc.edu!ncsa.uiuc.edu!wsherman
From: wsherman@ncsa.uiuc.edu (William Sherman -Visualization)
Subject: Re: InfoTaskForce Infocom parser dumps on a SunSparc
References: <01GRX0FP7AWW96VL8P@odin.uniras.dk> <1gaem8INNgrv@fnnews.fnal.gov>
Message-ID: <Bz4C1y.845@news.cso.uiuc.edu>
Sender: usenet@news.cso.uiuc.edu (Net Noise owner)
Organization: National Center for Supercomputing Applications
Distribution: na
Date: Fri, 11 Dec 1992 23:32:19 GMT
Lines: 30

Yes, it gave a Segmentation Fault on an SGI too.  I spent a few hours
debugging it, and I think I found the problem.  It now seems to work for
me, but I haven't thouroughly tested it.  After doing all this, I found
a note that I had saved that gave the solution, so while this confirmed
my change, it also meant I wasted several hours.

Anyway, in infocom.c (lines 90,91 & 101,102,103) the order of the calls
to various initialization routines is wrong.  The routine that does the
malloc "init()" needs to be before "init_script()", and the note that
was posted last month says that "INIT_IO()" needs to be before "init()",
though I left it after "init_script()", and it is working fine so far.

The odd thing was that two games that used the level 4 infocom interpreter
seemed to work before the bug was fixed, though I suspect they would have
crashed had I played them longer.  Those games are "Beyond Zork" and
"Hitchhickers Guide to the Galaxy."

	Bill

/************************************************************************/
/* Bill Sherman								*/
/* National Center for Supercomputing Applications			*/
/* University of Illinois						*/
/* Champaign-Urbana							*/
/*									*/
/* Internet: wsherman@ncsa.uiuc.edu					*/
/*									*/
/*   "You want to do mankind a real service?  Tell funnier jokes."	*/
/* 		Og							*/
/************************************************************************/
