From owner-freebsd-current Sun Dec 7 10:16:51 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id KAA12394 for current-outgoing; Sun, 7 Dec 1997 10:16:51 -0800 (PST) (envelope-from owner-freebsd-current) Received: from unix.tfs.net (tc1-p28.tfs.net [139.146.197.28]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id KAA12385 for ; Sun, 7 Dec 1997 10:16:35 -0800 (PST) (envelope-from jbryant@unix.tfs.net) Received: (from jbryant@localhost) by unix.tfs.net (8.8.8/8.8.5) id MAA01529; Sun, 7 Dec 1997 12:16:16 -0600 (CST) From: Jim Bryant Message-Id: <199712071816.MAA01529@unix.tfs.net> Subject: Re: sc0 scrollback flaw In-Reply-To: <199712071051.TAA15489@zodiac.mech.utsunomiya-u.ac.jp> from Kazutaka YOKOTA at "Dec 7, 97 07:50:59 pm" To: yokota@zodiac.mech.utsunomiya-u.ac.jp (Kazutaka YOKOTA) Date: Sun, 7 Dec 1997 12:16:15 -0600 (CST) Cc: freebsd-current@freebsd.org Reply-to: jbryant@unix.tfs.net X-Windows: R00LZ!@# MS-Winbl0wz DR00LZ!@# X-Operating-System: FreeBSD 3.0-CURRENT #0: Mon Dec 1 15:51:40 CST 1997 X-Mailer: ELM [version 2.4ME+ PL31H (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk In reply: > >> >i'm still running the Dec. 2 version of -current, but will be > >> >cvsupping the latest in a few minutes... i can take a look at > >> >syscons.c, and see if i can find where this is happening... > >> > >> I did add SC_HISTORY_SIZE stuff to syscons.c. But, I never touched > >> screen clearing part of the code, because SC_HISTORY_SIZE affects the > >> driver only when the history buffer is allocated, which happens a) if > >> the virtual console is opened for the first time, b) if the user runs > >> `kbdcontrol -h lines' to set the history buffer size, c) or if the > >> screen size is changed by `vidcontrol VGA_xxx'. > >> > >> I'm puzzled. > > > >hmmm... just remembering, i do change the screen dimensions to 80x60, > >but that is beside the point, as even asfter the switch, i still > >retained the kernel boot messages before, and now everything prior to > >login now is lost... > > > >my .login is enclosed... btw: i guess i don't do a clear, and the > >mode change does it.. note that clear is commented... sorry... > > Before the introduction of SC_HISTORY_SIZE, syscons didn't check if > the history buffer size is sufficient for the new screen size when the > user is changing the screen size. If you set HISTORY_SIZE to a small > number, say 40 lines, and changed the screen size to 80x60, the system > would crash. > > So, syscons was to made to free the history buffer whenever the screen > size is changed and allocate a new buffer. > > Ok, probably we should retain the history buffer contents if possible, > when the screen size is changed and when the history buffer size is > changed. maybe do a compare against SC_HISTORY_SIZE with the current and desired screen size when changing it? truncate if SC_HISTORY_SIZE < desired. the way it was before, it only allocated a set number of char cells, do you do it by the line now? jim -- All opinions expressed are mine, if you | "I will not be pushed, stamped, think otherwise, then go jump into turbid | briefed, debriefed, indexed, or radioactive waters and yell WAHOO !!! | numbered!" - #1, "The Prisoner" ------------------------------------------------------------------------------ Inet: jbryant@tfs.net AX.25: kc5vdj@wv0t.#neks.ks.usa.noam grid: EM28pw voice: KC5VDJ - 6 & 2 Meters AM/FM/SSB, 70cm FM. http://www.tfs.net/~jbryant ------------------------------------------------------------------------------ HF/6M/2M: IC-706-MkII, 2M: HTX-212, 2M: HTX-202, 70cm: HTX-404, Packet: KPC-3+