1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-22 11:17:19 +00:00
Commit Graph

49 Commits

Author SHA1 Message Date
Kenneth D. Merry
13a5277c23 Fix a curses bug exposed by the ":numbers" display of systat -iostat.
This bug showed up when you had more than 3 devices displayed.  (thus
requiring a second line of display)

Here's a quote From the PR:

 When wrefresh() is called with a subwindow as argument, __set_subwin
 might be called with reversed arguments if wrefresh() decides to calls
 quickch().  This may cause use of negative array indexes, with a
 resulting segfault.

 Since quickch() manipulates the line structures belonging to curscr,
 it looks like all subwindows of curscr should be updated.

PR:		bin/8086
Submitted by:	Tor Egge <Tor.Egge@fast.no>
1998-10-12 16:32:32 +00:00
Warner Losh
546bc251ae $* -> ${.PREFIX} 1998-09-11 05:40:12 +00:00
Steve Price
c3572d2769 Allow this to include from C++ programs.
PR:		2382
Submitted by:	Peter Jeremy <perer.jeremy@alcatel.com.au>
1998-05-31 20:12:06 +00:00
Philippe Charnier
a5941fc2aa .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq 1998-03-19 07:34:22 +00:00
Steve Price
18de8a52e4 Remove extra definition of vwprintw.
PR:		bin/3623
Submitted by:	Stephen J. Roznowski <sjr1@flash.net>
1997-08-23 23:23:07 +00:00
Bruce Evans
362c392f0b This commit was generated by cvs2svn to compensate for changes in r27180,
which included commits to RCS files with non-trunk default branches.
1997-07-03 03:28:27 +00:00
Bruce Evans
5500fdcd4f Import Lite2's src/lib, except for non-i386 machine-dependent directories,
libc/db, libc/gen/crypt.* and libtelnet.  All affected files except 3
unimportant ones have already left the vendor branch.
1997-07-03 03:28:27 +00:00
Peter Wemm
7e546392b5 Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Bruce Evans
5b963fa12e Fixed DPADD. 1996-09-05 17:16:10 +00:00
Peter Wemm
c5c878699b cmp -s || install -c ==> install -C 1996-08-30 01:51:09 +00:00
Jordan K. Hubbard
e0d275f1a6 Yeesh! I shouldn't have looked. Fix a whole bunch more. Pray
for ncurses to replace this soon.
1996-08-10 13:37:02 +00:00
Jordan K. Hubbard
fb5420bb4d Fix an exceedingly confusing typo. 1996-08-10 13:30:11 +00:00
Jordan K. Hubbard
51295a4d3e General -Wall warning cleanup, part I.
Submitted-By: Kent Vander Velden <graphix@iastate.edu>
1996-07-12 18:57:58 +00:00
Bruce Evans
48cfb668fc Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.

Previously I missed dozens of Makefiles that skip the install after
using `cmp -s' to decide that the install isn't necessary.
1995-08-06 12:24:38 +00:00
Andrey A. Chernov
7ab853dd03 Remove _set_ospeed, it is done in tgetent now
Remove ospeed redefinition from header file
1995-08-05 21:48:16 +00:00
Andrey A. Chernov
23b227cadc Eliminate ospeed switch with new _set_ospeed 1995-08-04 06:50:12 +00:00
Rodney W. Grimes
6c06b4e2aa Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
Doug Rabson
db0770545f Use __tty_fileno instead of STDERR_FILENO when detecting window size
changes
Reviewed by:	Bob Willcox <bob@obiwan.pmr.com>
1995-03-28 22:20:19 +00:00
Nate Williams
c0585ea944 Separated out the _putchar & __cputchar() routines so that programs such
as tn3270 can replace _putchar(0 with their own routine and still keep
using the __cputchar() routine used by all of the other curses routines.

Reviewed by:	"Andrey A. Chernov, Black Mage" <ache@astral.msk.su>
1995-03-19 21:47:51 +00:00
Andrey A. Chernov
d76f7c0fec tputs: (char) -> (int) 1994-12-10 23:02:33 +00:00
Andrey A. Chernov
f13e0e1455 Fix tputs declaration 1994-12-09 21:59:06 +00:00
Andrey A. Chernov
fafeaee340 Fix scroll bug bringed by 'vi <several_small_files>'
and :n command then. :prev bug still exists because it syscons
bug itself, I work on it.
1994-11-21 14:16:31 +00:00
Andrey A. Chernov
fce9eaf109 Add const to termcap prototypes to help libg++ 2.6.1 compiling,
this change must not affect other curses pgms
1994-11-04 15:14:03 +00:00
Andrey A. Chernov
c0d678dc83 Finally move DB declaration under _CURSES_PRIVATE 1994-10-28 23:38:18 +00:00
Andrey A. Chernov
986f04fb6b Continue previous fix still 1994-10-28 23:27:57 +00:00
Andrey A. Chernov
88c2b17a8f After some thinking better place to fix appearse curses again, not
vi(1). Remove DB from curses.h and still implement it provide
this variable for programs that expect it in any case.
1994-10-28 23:27:00 +00:00
Andrey A. Chernov
4b05df4e20 Rename cDB to DB back like old good BSD curses always does,
check ultrix for example. Real place for fix will be vi(1),
wait for next commit.
1994-10-28 23:18:26 +00:00
Poul-Henning Kamp
a1ebd387e5 Missed one reference to the DB variable. 1994-10-28 21:53:17 +00:00
Poul-Henning Kamp
1eb01a4975 Renamed a variable from 'DB' to 'cDB', so the vi(1) will compile again.
Nice to see that people test their fixes before they commit :-(
1994-10-28 21:39:58 +00:00
Andrey A. Chernov
80299b0177 Previous commit was incompleted, yet one step required 1994-10-27 23:13:53 +00:00
Andrey A. Chernov
d8f07fabd5 Fix scroll bug bringed by vi(1), from phk's flame
(I still wait for apologies)
1994-10-27 22:36:56 +00:00
Andrey A. Chernov
2041b760c8 SHARED_LDADD --> LDADD
cmp redirection removed
1994-10-12 01:57:56 +00:00
Andrey A. Chernov
f5729156af Back out ospeed change (why all bugs discovered immediately _after_ commits
and no one before?)
1994-10-06 21:05:23 +00:00
Andrey A. Chernov
3a163b361a Enable PC back, because it is ouside visible 1994-10-06 20:44:51 +00:00
Andrey A. Chernov
4ba0245103 ospeed/PC code ifdefed out, our libtermcap use usleep now 1994-10-06 20:36:34 +00:00
Andrey A. Chernov
7f3d874be4 Disable direct ioctls to /dev/tty, search only stdin/stdout
and don't return error, if non-terminals. This fix allows curses
to work into full duplex pipes under control of main program,
like good old curses does.
1994-10-03 12:58:05 +00:00
Andrey A. Chernov
cbe192eeb8 Fix bug in %i format, second argument not incremented 1994-09-24 14:16:04 +00:00
Andrey A. Chernov
50da2881de Fix bug with scroll region parameters (x changed to y) 1994-09-24 14:15:16 +00:00
Andrey A. Chernov
fd437b2bb2 Attention to all cc hackers, here workaround for gcc 2.6.0
optimizer bug (old code works without -O and don't works with -O)
old !(x & y) != !(a & b) changed to !!(x & y) != !!(a & b)
1994-09-22 03:58:43 +00:00
Andrey A. Chernov
8354392e6b Fix mvcur typo bug from my previous fix 1994-09-22 03:09:04 +00:00
Andrey A. Chernov
8c37ae4d2c Subwin code forget to subtract orig->beg{x,y} cause SEGV
Submitted by: derek@free.org & ache
1994-09-12 11:41:29 +00:00
Andrey A. Chernov
53e1aa653e Bug fixed:
when refreshing standouted line curses outputs SO for all characters
Submitted by: ZW6T-KND@j.asahi-net.or.jp
1994-09-07 16:52:33 +00:00
Andrey A. Chernov
043e2ebbd9 SHARED_LDADD added 1994-08-28 21:48:11 +00:00
Andrey A. Chernov
f201053113 newwin.c
o __FULLINE added for AL/DL/CS optimization with __noqch.

refresh.c

o Attributes does not turned off before clearing screen, cause
  highlighted screen.
o Proper usage of 'affcnt' tputs parameter, affects terminals with
  padding.
o make AL/DL/CS optimize not only for __FULLWIN but for __FULLLINE.
  ATTENTION: original code works _only_for_ FULLWIN, i.e. if you
  use two FULLLINE windows like in 'talk', you have full slow repaint with
  original code, I enhance this thing. All other fixes marked
  with phrase 'wrong for non-full windows' or WFNFW is continue of this fix.
  I rewrite scroll code too for proper working (see below and tty.c
  changes).
o DEBUG code always use 'i' index from 0 to curscr->maxy instead of
  'i - win->begy', fixed
o check added into DEBUG to be shure that index inside current window.
o ->hash assigment code is WFNFW (forget win->begy).
o when CE usage required, and last spaces number counted, code don't check
  attributes, so last standouted space will be incorrectly cleared.
o cep (start pointer) forget to add win->begy/win->begx, code WFNFW.
o clsp (last space) wrong in two places at once: forget to add win->begy
  (WFNFW) and incorrectly use 'win->begx * __LDATASIZE' in pointer
  arithmetics.
o clsp check incorrect: was 'clsp < win->maxx * __LDATASIZE', need to
  be 'clsp < win->maxx
o Attributes does not turned off before clearing end of line, cause
  highlighted end of line.
o When find how many lines from the top/bottom of the screen are unchanged,
  code always forget '- win->begy', WFNFW.
o NO_JERKINESS code forgets to add win->begy, WFNFW.
o Curw & Curs changed in comment description
o In search for the largest block of text not changed forget to add
  '- win->begy' (several places), WFNFW.
o Forget to add '- win->begy' for non-dirty lines, WFNFW.
o touchline forget to add '- win->begy', WFNFW.
o rewrite scrolln():
	* remove win parameter, we deal with whole screen (curscr) now;
	* use NL or '\n' instead of sf, it is faster in any case;
	  (imagine: cat written on curses now use '\n' for scroll
	  like standard cat, no ugly escapes)
	* use dl (if present) instead of DL, if abs(n) == 1, the same
	  about al/sr, it is faster;
	* change win->maxy to 'curscr->maxy - 1', we deal with whole screen
	  here, WFNFW.
	* SF can be correctly issued only if cursor at bottom of scroll
	  region (whole screen region included too), fix this;
	* sr/SR can be correctly issued only if cursor at top of scroll
	  region (whole screen region included too), fix this;
	* use pre-calculaded (in setterm.c) __usecs variable to determine
	  usage of CS or AL/DL;
	* completely rewrite scroll region stuff using __set_scroll_region
	  from tty.c (see below);

tty.c

o Added __set_scroll_region function which set CS region and stays
  back in old position. Use SC/RC (save/restore cursor) if possible,
  else use HO and __mvcur.

o __startwin: added __set_scroll_region(whole screen) at program
  startup, if __usecs;

o endwin: added __set_scroll_region(whole screen) at program
  exit, if __usecs;

o Fix all tc{set/get}attrs to works properly, when stdin redirected,
  use /dev/tty in this case (needed for some applications).

setterm.c

o Add new variable __usecs, if (!AL/al || !Dl/dl) && CS && (SC && RC || HO)
  (save/restore cursor used in __set_scroll_region in tty.c).

o Set __noqch, if !__usecs && (!AL/al || !DL/dl).

o Proper ospeed initialization for tputs, i.e. if speed == B9600,
  ospeed = 13

curses.c

o Add __usecs variable that indicates usage of CS (if AL/DL absent).

curses.h

o Allow translation with applications which includes <sgtty.h>,
  undef BXXX manually to avoid redefinition and include termios
  to define proper ones.

o Define old-style names curx/begx/maxx/etc. for old applications.
  Define _tty like __baset too.

o Typedef SGTTY type for old applications (SGTTY == struct termios).

o wstandout/wstandend should be int and not char*, some old
  applications relay on this fact. See standout.c too.

o __FULLINE added indicated line width == terminal width, needed
  for refresh using AL/DL/CS with __noqch, see refresh.c changes.

o Add extern __usecs variable that indicates usage of CS (if AL/DL absent).

o Add __set_scroll_region() prototype, see tty.c and refresh.c changes
  for details.

o Change winch() character mask from 0177 to 0377, we don't need to
  strip high bit on national characters.

o Allow translate on systems with _BSD_VA_LIST_ undefined, such as
  FreeBSD 1.1.5.1

o __tty_fileno added to allows work with stdin redirected, see tty.c

o Privately declare tputs (..., void) and externally tputs(..., int),
  many applications require this. Maybe not nice thing, but needed.

o Remove _putchar definition and replace it to proper _putchar
  prototype, some old apps declares: 'extern int _putchar()'
  and don't even include curses.h in such modules. See putchar.c

cr_put.c

o __mvcur: if destline == destcol && outline == outcol do nothing,
  i.e. don't issue any escapes.

o Proper usage of 'affcnt' tputs parameter, affects terminals with
  padding.

cur_hash.c

o Change char->unsigned char for proper sum 8-bit national characters.

getch.c

o check for inp == EOF added, don't add EOF to window.

getstr.c

o check for EOF added, don't add EOF to str.

insertln.c

o add cast to (int) in comparation of y and win->cury, this produce
  big number (cast to (unsigned)) if y < 0

tstp.c

o Fix all tc{set/get}attrs to works properly, when stdin redirected,
  use /dev/tty in this case (needed for some applications).

o add tstp() function for compatibility, some applications wants it.

standout.c

o Some old applications relay in fact that wstandout/wstandend
  returns int instead of char*, change return type to OK/ERR.

putchar.c

o Add _putchar function (which calls __cputchar),
  some old apps declares: 'extern int _putchar()'
  and don't even include curses.h in such modules.
1994-08-28 21:47:13 +00:00
Sean Eric Fagan
f98d56227f More stuff from the latest curses. Really minor this time.
Reviewed by:	Sean Eric Fagan
1994-08-13 23:23:53 +00:00
Sean Eric Fagan
6c8ac72df7 Brought the 2.0 libcurses up-to-date with the current 4.4 stuff, as
distributed in keith bostic's nvi (got his permission first).  Most changes
are cosmetic, but a few errors (mostly in tty..c) were cleared up.

Reviewed by:	Sean Eric Fagan
1994-08-13 23:15:38 +00:00
Garrett Wollman
ab532cffe5 Make it work with our make macros. 1994-08-05 01:42:04 +00:00
Rodney W. Grimes
58f0484fa2 BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00