|
|
1.1 ! root 1: /********************************************************************* ! 2: * COPYRIGHT NOTICE * ! 3: ********************************************************************** ! 4: * This software is copyright (C) 1982 by Pavel Curtis * ! 5: * * ! 6: * Permission is granted to reproduce and distribute * ! 7: * this file by any means so long as no fee is charged * ! 8: * above a nominal handling fee and so long as this * ! 9: * notice is always included in the copies. * ! 10: * * ! 11: * Other rights are reserved except as explicitly granted * ! 12: * by written permission of the author. * ! 13: * Pavel Curtis * ! 14: * Computer Science Dept. * ! 15: * 405 Upson Hall * ! 16: * Cornell University * ! 17: * Ithaca, NY 14853 * ! 18: * * ! 19: * Ph- (607) 256-4934 * ! 20: * * ! 21: * Pavel.Cornell@Udel-Relay (ARPAnet) * ! 22: * decvax!cornell!pavel (UUCPnet) * ! 23: *********************************************************************/ ! 24: ! 25: /* ! 26: ** lib_insertln.c ! 27: ** ! 28: ** The routine winsertln(). ! 29: ** ! 30: ** $Log: RCS/lib_insertln.v $ ! 31: * Revision 2.2 91/04/20 19:11:20 munk ! 32: * Usage of register variables ! 33: * ! 34: * Revision 2.1 82/10/25 14:47:44 pavel ! 35: * Added Copyright Notice ! 36: * ! 37: * Revision 2.0 82/10/25 13:46:12 pavel ! 38: * Beta-one Test Release ! 39: * ! 40: ** ! 41: */ ! 42: ! 43: #ifdef RCSHDR ! 44: static char RCSid[] = ! 45: "$Header: RCS/lib_insertln.v Revision 2.2 91/04/20 19:11:20 munk Exp$"; ! 46: #endif ! 47: ! 48: #include "curses.h" ! 49: #include "curses.priv.h" ! 50: ! 51: ! 52: winsertln(win) ! 53: register WINDOW *win; ! 54: { ! 55: chtype *temp, *end; ! 56: register int y; ! 57: ! 58: #ifdef TRACE ! 59: if (_tracing) ! 60: _tracef("winsertln(%o) called", win); ! 61: #endif ! 62: ! 63: temp = win->_line[win->_regbottom]; ! 64: ! 65: win->_firstchar[win->_cury] = 0; ! 66: win->_numchngd[win->_cury] = win->_lastchar[win->_cury] = win->_maxx; ! 67: ! 68: for (y = win->_regbottom; y > win->_cury; y--) ! 69: { ! 70: win->_line[y] = win->_line[y-1]; ! 71: ! 72: win->_firstchar[y] = 0; ! 73: win->_numchngd[y] = win->_lastchar[y] = win->_maxx; ! 74: } ! 75: ! 76: win->_line[win->_cury] = temp; ! 77: ! 78: for (end = &temp[win->_maxx]; temp <= end; temp++) ! 79: *temp = ' ' | win->_attrs; ! 80: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.