/****************************************************************************
- * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+ * Copyright 2020 Thomas E. Dickey *
+ * Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* This test was written by Alexander V. Lukyanov to demonstrate difference
* between ncurses 4.1 and SVR4 curses
*
- * $Id: firstlast.c,v 1.5 2006/04/01 19:03:18 tom Exp $
+ * $Id: firstlast.c,v 1.9 2020/02/02 23:34:34 tom Exp $
*/
#include <test.priv.h>
fill(WINDOW *w, const char *str)
{
const char *s;
+ int x0 = -1, y0 = -1;
+ int x1, y1;
+ int maxx, maxy, limit;
+
+ getmaxyx(w, maxy, maxx);
+ wmove(w, 0, 0);
+ limit = maxy * maxx;
+
for (;;) {
for (s = str; *s; s++) {
- if (waddch(w, UChar(*s)) == ERR) {
+ getyx(w, y1, x1);
+ if (waddch(w, UChar(*s)) == ERR
+ || (x1 == x0 && y1 == y0)) {
wmove(w, 0, 0);
return;
}
+ /* waddch() should return ERR at the lower-right corner */
+ if (--limit < 0) {
+ beep();
+ if (*str == '?')
+ return;
+ napms(500);
+ wmove(w, maxy - 1, 0);
+ str = "?";
+ limit = maxx + 1;
+ }
+ x0 = x1;
+ y0 = y1;
}
}
}
wrefresh(large);
wrefresh(small);
- mvwaddstr(small, 5, 5, " Test <place to change> String ");
+ MvWAddStr(small, 5, 5, " Test <place to change> String ");
wrefresh(small);
getch();
touchwin(large);
wrefresh(large);
- mvwaddstr(small, 5, 5, " Test <***************> String ");
+ MvWAddStr(small, 5, 5, " Test <***************> String ");
wrefresh(small);
/* DIFFERENCE! */