[net.sources.bugs] Larn 12.0 portablitity bug

dpb@iwtpu.UUCP (Darryl Baker) (08/12/86)

References:


Larn will not compile on System V because it uses a BSD ioctl FIONREAD to
check how many characters are stil waiting to be read. I have not fixed this
but I will if I get the time.
-- 
________________________________________________________________________________
				From the sleepy terminal of
					Darryl Baker
					ihnp4![laidbak|iwtpu|iwvaf]!dpb

staiger@ncrcae.UUCP (Kurt Staiger) (08/14/86)

FIONREAD is included in two spots in tok.c.  The simplest hack is to comment out
the ioctl and ic checking in both locations and insert "fflush(stdin);" in the 
flushall subroutine.  Essentially, this restores the typeahead problem because
no checking is done but the game will compile and run under SysV.

P.S. The "#include <stdio.h>" line has to be put in tok.c as well. Note this is
not an "official" fix just a suggestion.

jcz@sas.UUCP (Carl Zeigler) (08/14/86)

In article <164@iwtpu.UUCP>, dpb@iwtpu.UUCP writes:
 > Larn will not compile on System V because it uses a BSD ioctl FIONREAD to
 > check how many characters are stil waiting to be read. I have not fixed this
 > but I will if I get the time.
 > -- 

I deleted the first call to ioctl with FIONREAD,
and changed flushall to call ioctl( 0, TCFLSH, 0);

works fine.


-- 
John Carl Zeigler         "Just once I'd like to meet an alien menace
SAS Institute Inc.            that wasn't impervious to bullets !"
Cary, NC  27511
(919) 467-8000			...!mcnc!rti-sel!sas!jcz

john@moncol.UUCP (John Ruschmeyer) (08/20/86)

In article <145@sas.UUCP> jcz@sas.UUCP (Carl Zeigler) writes:
>In article <164@iwtpu.UUCP>, dpb@iwtpu.UUCP writes:
> > Larn will not compile on System V because it uses a BSD ioctl FIONREAD to
> > check how many characters are stil waiting to be read. I have not fixed this
> > but I will if I get the time.
> > -- 
>
>I deleted the first call to ioctl with FIONREAD,
>and changed flushall to call ioctl( 0, TCFLSH, 0);
>
>works fine.

Gee, I wish I had your luck. For me, changing the call in flushall works
fine, but deleting the other call just gives me a game where I can move
around fine on the surface, but can only make one move in the dungeon
before the game hangs.

Just when I thought I had that licked, the game starts giving me SIGSEGV
everytime I hit a monster.

Other larn 12.0 problems:

I got a "too many initializers" error from signal.c- Simple fix, you just
have to remove some null initializers from the structure holding signal
calls.

Worse, however, (for me at least) is all the use of reverse video in the
new version of larn. For you with VT-100's, this is fine, but some of us
have so-called "magic cookie" terminals such as the Televideo 950. On one
of these terminals, you get an ever changing amount of reverse video on
screen as the screen attribute characters are written and overwritten.

Here's to larn 13.0...

-- 
Name:		John Ruschmeyer
US Mail:	Monmouth College, W. Long Branch, NJ 07764
Phone:		(201) 571-3451
UUCP:		...!vax135!petsd!moncol!john	...!princeton!moncol!john
						   ...!pesnta!moncol!john

	NOMAD: ... a mass of conflicting impulses. Absorbing it
		unsettled me.
	SPOCK: That unit was Rich Rosen.
					from "Rosen Trek"

mwh_adev@jhunix.UUCP (JHU UNIX Development Group) (08/22/86)

> In article <145@sas.UUCP> jcz@sas.UUCP (Carl Zeigler) writes:
> >In article <164@iwtpu.UUCP>, dpb@iwtpu.UUCP writes:
> > > Larn will not compile on System V because it uses a BSD ioctl FIONREAD to
> > > check how many characters are stil waiting to be read. I have not fixed this
> > > but I will if I get the time.
> > > -- 
> >
> >I deleted the first call to ioctl with FIONREAD,
> >and changed flushall to call ioctl( 0, TCFLSH, 0);
> >
> >works fine.
> 
> Gee, I wish I had your luck. For me, changing the call in flushall works
> fine, but deleting the other call just gives me a game where I can move
> around fine on the surface, but can only make one move in the dungeon
> before the game hangs.
> 
> Just when I thought I had that licked, the game starts giving me SIGSEGV
> everytime I hit a monster.
> 
> Other larn 12.0 problems:
> 
> I got a "too many initializers" error from signal.c- Simple fix, you just
> have to remove some null initializers from the structure holding signal
> calls.
> 
> Worse, however, (for me at least) is all the use of reverse video in the
> new version of larn. For you with VT-100's, this is fine, but some of us
> have so-called "magic cookie" terminals such as the Televideo 950. On one
> of these terminals, you get an ever changing amount of reverse video on
> screen as the screen attribute characters are written and overwritten.
> 
> Here's to larn 13.0...
> 
> -- 
> Name:		John Ruschmeyer
> US Mail:	Monmouth College, W. Long Branch, NJ 07764
> Phone:		(201) 571-3451
> UUCP:		...!vax135!petsd!moncol!john	...!princeton!moncol!john
> 						   ...!pesnta!moncol!john
> 
> 	NOMAD: ... a mass of conflicting impulses. Absorbing it
> 		unsettled me.
> 	SPOCK: That unit was Rich Rosen.
> 					from "Rosen Trek"

I have had an even worse problem.  I managed to fix the buffer flushing
and all that, but after I play for 5 min or so, the terminal messed
up, never to recover.  I have tried this on every terminal type available,
but at some point during the game (5 or 10 min in) the terminal always
dies.   Any ideas?

Paul
seismo!umcp-cs!jhunix!mwh_adev
mwh_adev%jhunix.BITNET@wiscvm.ARPA