KNF and lint
[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
1e126f74 9static char sccsid[] = "@(#)insertln.c 5.5 (Berkeley) %G%";
2f14f200 10#endif /* not lint */
87c6fcf8 11
259c2c61
KA
12# include "curses.ext"
13
14/*
15 * This routine performs an insert-line on the window, leaving
16 * (_cury,_curx) unchanged.
17 *
259c2c61
KA
18 */
19winsertln(win)
20reg WINDOW *win; {
21
22 reg char *temp;
23 reg int y;
24 reg char *end;
e3fd04f0 25 reg int x;
259c2c61 26
e3fd04f0
JB
27#ifdef DEBUG
28 fprintf(outf, "INSERTLN(%0.2o)\n", win);
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];
259c2c61
KA
43 for (end = &temp[win->_maxx]; temp < end; )
44 *temp++ = ' ';
e3fd04f0
JB
45 touchline(win, y, 0, win->_maxx - 1);
46 if (win->_orig == NULL)
47 _id_subwins(win);
259c2c61 48}