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; }