Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b1a925f4 authored by Jean-François Moine's avatar Jean-François Moine Committed by Greg Kroah-Hartman
Browse files

tty vt: Fix a regression in command line edition



The commit 81732c3b
("Fix line garbage in virtual console on command line edition")
made a regression with some machines: some characters were not erased
after line edition.

This patch adjusts the number of moved characters and the size of the
region to be updated.

Signed-off-by: default avatarJean-François Moine <moinejf@free.fr>
Tested-by: default avatarKrzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f4a75d2e
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -539,25 +539,25 @@ static void insert_char(struct vc_data *vc, unsigned int nr)
{
	unsigned short *p = (unsigned short *) vc->vc_pos;

	scr_memmovew(p + nr, p, vc->vc_cols - vc->vc_x);
	scr_memmovew(p + nr, p, (vc->vc_cols - vc->vc_x) * 2);
	scr_memsetw(p, vc->vc_video_erase_char, nr * 2);
	vc->vc_need_wrap = 0;
	if (DO_UPDATE(vc))
		do_update_region(vc, (unsigned long) p,
			(vc->vc_cols - vc->vc_x) / 2 + 1);
			vc->vc_cols - vc->vc_x);
}

static void delete_char(struct vc_data *vc, unsigned int nr)
{
	unsigned short *p = (unsigned short *) vc->vc_pos;

	scr_memcpyw(p, p + nr, vc->vc_cols - vc->vc_x - nr);
	scr_memcpyw(p, p + nr, (vc->vc_cols - vc->vc_x - nr) * 2);
	scr_memsetw(p + vc->vc_cols - vc->vc_x - nr, vc->vc_video_erase_char,
			nr * 2);
	vc->vc_need_wrap = 0;
	if (DO_UPDATE(vc))
		do_update_region(vc, (unsigned long) p,
			(vc->vc_cols - vc->vc_x) / 2);
			vc->vc_cols - vc->vc_x);
}

static int softcursor_original;