chiark
/
gitweb
/
~mdw
/
sw-tools
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sw_build: Bug squashing.
[sw-tools]
/
src
/
pres_curses.c
diff --git
a/src/pres_curses.c
b/src/pres_curses.c
index 38876e8b3527ad78a4fc6265e8d95f7e001d4505..a4f3b3f48c68551b75090fea2cd23b29ea98310c 100644
(file)
--- a/
src/pres_curses.c
+++ b/
src/pres_curses.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-c-*-
*
- * $Id
: pres_curses.c,v 1.7 2004/04/08 01:52:19 mdw Exp
$
+ * $Id$
*
* Curses-based output presentation
*
*
* Curses-based output presentation
*
@@
-259,8
+259,25
@@
fail_0:
void curses_output(archent *e, const char *p, size_t sz)
{
cwin *c = e->pres;
void curses_output(archent *e, const char *p, size_t sz)
{
cwin *c = e->pres;
+ int y, x;
while (sz) {
while (sz) {
- waddch(c->w, *p);
+ switch (*p) {
+ case '\r':
+ getyx(c->w, y, x);
+ wmove(c->w, y, 0);
+ break;
+ case '\n':
+ getyx(c->w, y, x);
+ if (y < c->height - 1)
+ y++;
+ else
+ scroll(c->w);
+ wmove(c->w, y, 0);
+ break;
+ default:
+ waddch(c->w, *p);
+ break;
+ }
p++;
sz--;
}
p++;
sz--;
}