Subject: Re: Vi segfaults. Termcap trouble?
To: None <arto.huusko@maailma.yok.utu.fi>
From: Brett Lymn <blymn@baesystems.com.au>
List: port-amiga
Date: 01/11/2001 00:50:20
According to Arto Huusko:
>
>I had no trouble with that (or with vi, anyway) on 1.4.2 but once I
>upgraded to 1.5, vi segfaults on startup. Immediately.
>

OK - I think I have nailed this bug.  Please apply the below patch in
/usr/src/lib/libcurses directory, make and make install the patched
library.

>
>I'm including the termcap entry here, if someone could help...
>The thing I most wonder about, is the fact that everything was so nice
>under 1.4.2.
>

The curses library underwent some significant changes between 1.4 and
1.5, it is odd that this bug was not picked up sooner.

==============================================================================

Index: getch.c
===================================================================
RCS file: /cvsroot/basesrc/lib/libcurses/getch.c,v
retrieving revision 1.29.4.3
retrieving revision 1.33
diff -r1.29.4.3 -r1.33
1c1
< /*	$NetBSD: getch.c,v 1.29.4.3 2000/09/29 12:33:52 itojun Exp $	*/
---
> /*	$NetBSD: getch.c,v 1.33 2001/01/10 14:02:32 blymn Exp $	*/
41c41
< __RCSID("$NetBSD: getch.c,v 1.29.4.3 2000/09/29 12:33:52 itojun Exp $");
---
> __RCSID("$NetBSD: getch.c,v 1.33 2001/01/10 14:02:32 blymn Exp $");
308c308
< 	if (current->mapping[(unsigned) chr] < 0) {
---
> 	if (current->mapping[(unsigned char) chr] < 0) {
310c310
< 		current->mapping[(unsigned) chr] = current->count;	/* map new entry */
---
> 		current->mapping[(unsigned char) chr] = current->count;	/* map new entry */
363c363
< 		the_key = current->key[current->mapping[(unsigned) chr]];
---
> 		the_key = current->key[current->mapping[(unsigned char) chr]];
422c422
< 					(unsigned) entry[j]];
---
> 					(unsigned char) entry[j]];



-- 
===============================================================================
Brett Lymn, Computer Systems Administrator, BAE SYSTEMS
===============================================================================