Module Name: src
Committed By: christos
Date: Mon Nov 28 18:25:26 UTC 2016
Modified Files:
src/lib/libcurses: addbytes.c
Log Message:
If we are inserting spaces to account for a tab, move the x position of the
cursor, otherwise this is a no-op (Carsten Kunze)
To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 src/lib/libcurses/addbytes.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libcurses/addbytes.c
diff -u src/lib/libcurses/addbytes.c:1.43 src/lib/libcurses/addbytes.c:1.44
--- src/lib/libcurses/addbytes.c:1.43 Sat Oct 22 17:55:06 2016
+++ src/lib/libcurses/addbytes.c Mon Nov 28 13:25:26 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: addbytes.c,v 1.43 2016/10/22 21:55:06 christos Exp $ */
+/* $NetBSD: addbytes.c,v 1.44 2016/11/28 18:25:26 christos Exp $ */
/*
* Copyright (c) 1987, 1993, 1994
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)addbytes.c 8.4 (Berkeley) 5/4/94";
#else
-__RCSID("$NetBSD: addbytes.c,v 1.43 2016/10/22 21:55:06 christos Exp $");
+__RCSID("$NetBSD: addbytes.c,v 1.44 2016/11/28 18:25:26 christos Exp $");
#endif
#endif /* not lint */
@@ -217,9 +217,11 @@ _cursesi_addbyte(WINDOW *win, __LINE **l
case '\t':
tabsize = win->screen->TABSIZE;
PSYNCH_OUT;
- for (i = 0; i < (tabsize - (*x % tabsize)); i++) {
+ newx = tabsize - (*x % tabsize);
+ for (i = 0; i < newx; i++) {
if (waddbytes(win, blank, 1) == ERR)
return (ERR);
+ (*x)++;
}
PSYNCH_IN;
return (OK);
@@ -380,9 +382,11 @@ _cursesi_addwchar(WINDOW *win, __LINE **
cc.elements = 1;
cc.attributes = win->wattr;
tabsize = win->screen->TABSIZE;
- for (i = 0; i < tabsize - (*x % tabsize); i++) {
+ newx = tabsize - (*x % tabsize);
+ for (i = 0; i < newx; i++) {
if (wadd_wch(win, &cc) == ERR)
return ERR;
+ (*x)++;
}
return OK;
}