vsta

Check-in [a6efb80b9d]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Handle cleol when s_onlast is true; need to act as if you had moved to next line, and clear *that* line.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | master | trunk
Files: files | file ages | folders
SHA3-256:a6efb80b9d57aa61785f2a1fa8bed67c96e2aa528db5b938a509d1edd35226e6
User & Date: vandys 2001-12-15 18:20:23
Context
2001-12-17
14:00
Fix up some old edge cases in the stat() support code. check-in: 1e2cf28f7c user: vandys tags: master, trunk
2001-12-15
18:20
Handle cleol when s_onlast is true; need to act as if you had moved to next line, and clear *that* line. check-in: a6efb80b9d user: vandys tags: master, trunk
2001-11-21
16:08
Let DEBUG flag make it through to dbsym... regression caused by makefile reorg. check-in: 2f84e21168 user: vandys tags: master, trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to vsta/src/srv/mach/cons2/cons.c.

464
465
466
467
468
469
470













471
472
473
474
475
476
477
		 */
		s->s_onlast = 0;
		BOUND(y, x);
		jump_cur(phystop + (x-1)*LINESZ + (y-1)*CELLSZ);
		break;

	case 'K':		/* Clear to end of line */













		y = cur-top;
		y = LINESZ - (y % LINESZ);
		p = cur+y;
		do {
			p -= CELLSZ;
			*(ushort *)p = BLANKW;
		} while (p > cur);







>
>
>
>
>
>
>
>
>
>
>
>
>







464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
		 */
		s->s_onlast = 0;
		BOUND(y, x);
		jump_cur(phystop + (x-1)*LINESZ + (y-1)*CELLSZ);
		break;

	case 'K':		/* Clear to end of line */
		/*
		 * If we're beyond end of line, advance to next line if
		 * there *is* one.  This lets the clearing apply to
		 * the new line, which we're actually kinda sorta on.
		 */
		if (s->s_onlast && (cur < (physbottom-CELLSZ))) {
			cur += CELLSZ;
			s->s_onlast = 0;
		}

		/*
		 * Write blanks from cursor position to end of line
		 */
		y = cur-top;
		y = LINESZ - (y % LINESZ);
		p = cur+y;
		do {
			p -= CELLSZ;
			*(ushort *)p = BLANKW;
		} while (p > cur);