add SCCS ids back in.
[unix-history] / usr / src / lib / libcurses / insertln.c
CommitLineData
87c6fcf8 1/*
2f14f200
KB
2 * Copyright (c) 1981 Regents of the University of California.
3 * All rights reserved.
4 *
c07973a2 5 * %sccs.include.redist.c%
87c6fcf8
DF
6 */
7
8#ifndef lint
a2af4b61 9static char sccsid[] = "@(#)insertln.c 5.6 (Berkeley) %G%";
aafbddec 10#endif /* not lint */
87c6fcf8 11
aafbddec 12#include <curses.h>
a2af4b61 13#include <string.h>
259c2c61
KA
14
15/*
aafbddec
KB
16 * winsertln --
17 * Do an insert-line on the window, leaving (_cury,_curx) unchanged.
259c2c61 18 */
aafbddec 19int
259c2c61 20winsertln(win)
aafbddec
KB
21 register WINDOW *win;
22{
259c2c61 23
a2af4b61 24 register int y;
aafbddec 25 register char *end, *temp;
259c2c61 26
aafbddec
KB
27#ifdef DEBUG
28 __TRACE("insertln: (%0.2o)\n", win);
e3fd04f0
JB
29#endif
30 if (win->_orig == NULL)
31 temp = win->_y[win->_maxy - 1];
259c2c61 32 for (y = win->_maxy - 1; y > win->_cury; --y) {
e3fd04f0
JB
33 if (win->_orig == NULL)
34 win->_y[y] = win->_y[y - 1];
35 else
36 bcopy(win->_y[y - 1], win->_y[y], win->_maxx);
37 touchline(win, y, 0, win->_maxx - 1);
259c2c61 38 }
e3fd04f0
JB
39 if (win->_orig == NULL)
40 win->_y[y] = temp;
41 else
42 temp = win->_y[y];
aafbddec 43 for (end = &temp[win->_maxx]; temp < end;)
259c2c61 44 *temp++ = ' ';
e3fd04f0
JB
45 touchline(win, y, 0, win->_maxx - 1);
46 if (win->_orig == NULL)
aafbddec
KB
47 __id_subwins(win);
48 return (OK);
259c2c61 49}