diff options
| author | uwe <uwe@NetBSD.org> | 2020-06-30 21:02:24 +0000 |
|---|---|---|
| committer | uwe <uwe@NetBSD.org> | 2020-06-30 21:02:24 +0000 |
| commit | 14d7baafaa9571bb02d33be9ec9363ab63817c19 (patch) | |
| tree | 076a96f792ab1040e2c5d69e4027696c8064ae7a /lib/libcurses | |
| parent | 59e65c44d2b28ed01a37954140a3185f4978c60d (diff) | |
whline_set - save/restore the y coordinate too.
Reaching the right side of the screen can cause a line wrap.
PR lib/55434
Diffstat (limited to 'lib/libcurses')
| -rw-r--r-- | lib/libcurses/line.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/libcurses/line.c b/lib/libcurses/line.c index 0cc423768a4..7c621603997 100644 --- a/lib/libcurses/line.c +++ b/lib/libcurses/line.c @@ -1,4 +1,4 @@ -/* $NetBSD: line.c,v 1.11 2019/06/09 07:40:14 blymn Exp $ */ +/* $NetBSD: line.c,v 1.12 2020/06/30 21:02:24 uwe Exp $ */ /*- * Copyright (c) 1998-1999 Brett Lymn @@ -31,7 +31,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: line.c,v 1.11 2019/06/09 07:40:14 blymn Exp $"); +__RCSID("$NetBSD: line.c,v 1.12 2020/06/30 21:02:24 uwe Exp $"); #endif /* not lint */ #include <string.h> @@ -220,7 +220,7 @@ int whline_set(WINDOW *win, const cchar_t *wch, int n) #ifndef HAVE_WCHAR return ERR; #else - int ocurx, wcn, i, cw; + int ocury, ocurx, wcn, i, cw; cchar_t cc; cw = wcwidth( wch->vals[ 0 ]); @@ -232,6 +232,7 @@ int whline_set(WINDOW *win, const cchar_t *wch, int n) #ifdef DEBUG __CTRACE(__CTRACE_LINE, "whline_set: line of %d\n", wcn); #endif /* DEBUG */ + ocury = win->cury; ocurx = win->curx; memcpy( &cc, wch, sizeof( cchar_t )); @@ -240,12 +241,12 @@ int whline_set(WINDOW *win, const cchar_t *wch, int n) for (i = 0; i < wcn; i++ ) { #ifdef DEBUG __CTRACE(__CTRACE_LINE, "whline_set: (%d,%d)\n", - win->cury, ocurx + i * cw); + ocury, ocurx + i * cw); #endif /* DEBUG */ - mvwadd_wch(win, win->cury, ocurx + i * cw, &cc); + mvwadd_wch(win, ocury, ocurx + i * cw, &cc); } - wmove(win, win->cury, ocurx); + wmove(win, ocury, ocurx); __sync(win); return OK; #endif /* HAVE_WCHAR */ |
