- if ((ch = winch(txtwin)) != ERR) {
- if (waddch(chrwin, (chtype) ch) != ERR) {
- for (j = txt_x + 1; j < getmaxx(txtwin); ++j) {
- if ((ch = mvwinch(txtwin, txt_y, j)) != ERR) {
- if (waddch(chrwin, (chtype) ch) == ERR) {
+
+ if (txtwin != stdscr) {
+ wmove(txtwin, txt_y, txt_x);
+
+ if ((ch = (int) winch(txtwin)) != ERR) {
+ if (waddch(chrwin, (chtype) ch) != ERR) {
+ for (j = txt_x + 1; j < getmaxx(txtwin); ++j) {
+ if ((ch = (int) mvwinch(txtwin, txt_y, j)) != ERR) {
+ if (waddch(chrwin, (chtype) ch) == ERR) {
+ break;
+ }
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ } else {
+ move(txt_y, txt_x);
+
+ if ((ch = (int) inch()) != ERR) {
+ if (waddch(chrwin, (chtype) ch) != ERR) {
+ for (j = txt_x + 1; j < getmaxx(txtwin); ++j) {
+ if ((ch = (int) mvinch(txt_y, j)) != ERR) {
+ if (waddch(chrwin, (chtype) ch) == ERR) {
+ break;
+ }
+ } else {