projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
document distributed with 4.3BSD
[unix-history]
/
usr
/
src
/
lib
/
libcurses
/
deleteln.c
diff --git
a/usr/src/lib/libcurses/deleteln.c
b/usr/src/lib/libcurses/deleteln.c
index
95354d9
..
b217ca3
100644
(file)
--- a/
usr/src/lib/libcurses/deleteln.c
+++ b/
usr/src/lib/libcurses/deleteln.c
@@
-1,25
+1,47
@@
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+#ifndef lint
+static char sccsid[] = "@(#)deleteln.c 5.1 (Berkeley) %G%";
+#endif not lint
+
# include "curses.ext"
/*
* This routine deletes a line from the screen. It leaves
* (_cury,_curx) unchanged.
*
# include "curses.ext"
/*
* This routine deletes a line from the screen. It leaves
* (_cury,_curx) unchanged.
*
- * %G% (Berkeley) @(#)deleteln.c 1.4
*/
wdeleteln(win)
*/
wdeleteln(win)
-reg WINDOW *win;
{
-
+reg WINDOW *win;
+{
reg char *temp;
reg int y;
reg char *end;
reg char *temp;
reg int y;
reg char *end;
+ reg int x;
+# ifdef DEBUG
+ fprintf(outf, "DELETELN(%0.2o)\n", win);
+# endif
temp = win->_y[win->_cury];
for (y = win->_cury; y < win->_maxy - 1; y++) {
temp = win->_y[win->_cury];
for (y = win->_cury; y < win->_maxy - 1; y++) {
- win->_y[y] = win->_y[y+1];
- win->_firstch[y] = 0;
- win->_lastch[y] = win->_maxx - 1;
+ if (win->_orig == NULL)
+ win->_y[y] = win->_y[y + 1];
+ else
+ bcopy(win->_y[y + 1], win->_y[y], win->_maxx);
+ touchline(win, y, 0, win->_maxx - 1);
}
}
+ if (win->_orig == NULL)
+ win->_y[y] = temp;
+ else
+ temp = win->_y[y];
for (end = &temp[win->_maxx]; temp < end; )
*temp++ = ' ';
for (end = &temp[win->_maxx]; temp < end; )
*temp++ = ' ';
- win->_y[win->_maxy-1] = temp - win->_maxx;
+ touchline(win, win->_cury, 0, win->_maxx - 1);
+ if (win->_orig == NULL)
+ _id_subwins(win);
+ return OK;
}
}