summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/proto.h3
-rw-r--r--mbbsd/screen.c10
2 files changed, 12 insertions, 1 deletions
diff --git a/include/proto.h b/include/proto.h
index c0e5a134..916de0f4 100644
--- a/include/proto.h
+++ b/include/proto.h
@@ -579,7 +579,8 @@ void scr_dump (screen_backup_t *buf);
void scr_restore(const screen_backup_t *buf);
// non-curses
void outc(unsigned char ch);
-void outs(const char *str);
+void outs(const char *s);
+void outstr(const char *str); // prepare and print a complete non-ANSI string.
int inansistr(char *str, int n);
void move_ansi(int y, int x);
void region_scroll_up(int top, int bottom);
diff --git a/mbbsd/screen.c b/mbbsd/screen.c
index 74d434e1..8f54f6cc 100644
--- a/mbbsd/screen.c
+++ b/mbbsd/screen.c
@@ -441,12 +441,22 @@ outc(unsigned char c)
void
outs(const char *str)
{
+ if (!str)
+ return;
while (*str) {
outc(*str++);
}
}
void
+outstr(const char *str)
+{
+ // XXX TODO cannot prepare DBCS-ready environment?
+
+ outs(str);
+}
+
+void
scroll(void)
{
scrollcnt++;