From owner-freebsd-current Wed Apr 10 09:12:12 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id JAA16935 for current-outgoing; Wed, 10 Apr 1996 09:12:12 -0700 (PDT) Received: from adinet.analog.com (adinet.analog.com [137.71.23.3]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id JAA16830 for ; Wed, 10 Apr 1996 09:11:59 -0700 (PDT) Received: by adinet.analog.com id AA23948 (InterLock SMTP Gateway 3.0 for current@FreeBSD.org); Wed, 10 Apr 1996 12:11:05 -0400 Received: by adinet.analog.com (Internal Mail Agent-3); Wed, 10 Apr 1996 12:11:05 -0400 Received: by adinet.analog.com (Internal Mail Agent-2); Wed, 10 Apr 1996 12:11:05 -0400 Received: by adinet.analog.com (Internal Mail Agent-1); Wed, 10 Apr 1996 12:11:05 -0400 Date: Wed, 10 Apr 96 12:09:02 EDT Message-Id: <9604101609.AA23711@cthulhu> From: Mike Long To: current@FreeBSD.org, ncurses-list@netcom.com In-Reply-To: <199604082320.QAA03414@phaeton.artisoft.com> (message from Terry Lambert on Mon, 8 Apr 1996 16:20:47 -0700 (MST)) Subject: Re: terminfo-less ncurses Organization: Analog Devices CPD Reply-To: Mike Long Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk >From: Terry Lambert >Date: Mon, 8 Apr 1996 16:20:47 -0700 (MST) > >> > If you add attribute "foo", since the on disk data is a binary >> > data file contatining a structure, all on-disk data files must be >> > changes and all statically linked programs must be relinked to >> > get the new sizof(struct) and element layout. >> > >> Now, *this* argument makes sense. I would think that old binaries would still work, if: 1) You always add new attributes to the *end* of the structure. 2) Existing attributes (order and size) are not changed. 3) The library code only reads sizeof(struct) bytes, instead of until EOF, when reading the compiled description (ncurses may already do this). Old binaries will simply not read new attributes, but no memory clobbering &c. should occur. They're using the old code, so they wouldn't use any new attributes anyway. >> I take it that in a termcap file, if you add attribute "foo" to one >> entry, you don't have to do so to all the entries? Or is it just the fact >> that its in one file instead of many? > >You are not required to add any particular attribute to any particular >entry. This includes new attributes. > >The file format is not changed; since the attributes are interpretively >parsed from the file, the name is less important than the format. > >The difference is that I can add as many attributes as I want without >affecting any binary files (well, lookups are now done using an >indexed database, but the principle is the same). Note, however, that you must watch out for the 1024-character limitation. That can severely restrict your ability to add new attributes. All that aside, I don't think it should matter which of the two description formats you use. Zeyd and Eric think termcap sucks; that's their opinion. Many BSD users disagree, and *WILL* *NOT* *USE* ncurses unless it can use termcap instead of terminfo, no matter what Bostic has said. [NB: I'm not subscribed to current@FreeBSD.org; any replies from there should be sent directly to me.] -- Mike Long VLSI Design Engineer finger mikel@shore.net for PGP public key Analog Devices, CPD Division CCBF225E7D3F7ECB2C8F7ABB15D9BE7B Norwood, MA 02062 USA (eq (opinion 'ADI) (opinion 'mike)) -> nil