Re: [PATCH 17/16] Do not reset UTF8 on terminal reset

From: Paul LeoNerd Evans
Date: Mon Apr 02 2007 - 07:52:28 EST


On Mon, Apr 02, 2007 at 09:31:37AM +0200, Jan Engelhardt wrote:
> Also see:
> http://lkml.org/lkml/2005/5/17/289
> http://lkml.org/lkml/2005/5/17/297
>
> These posts argue about terminfo being the culprit. But how can terminfo
> be at fault, when `echo -en "\ec"` triggers it too?
>
> Since I am in a patch mood, here's my stance/patch, which is compile and
> run tested and behaves as expected (both with `echo` and `reset`).

...

> Index: linux-2.6.21-rc5/drivers/char/vt.c
> ===================================================================
> --- linux-2.6.21-rc5.orig/drivers/char/vt.c
> +++ linux-2.6.21-rc5/drivers/char/vt.c
> @@ -1518,7 +1518,6 @@ static void reset_terminal(struct vc_dat
> vc->vc_charset = 0;
> vc->vc_need_wrap = 0;
> vc->vc_report_mouse = 0;
> - vc->vc_utf = 0;
> vc->vc_utf_count = 0;
>
> vc->vc_disp_ctrl = 0;
> #<EOF>

Is it OK to do that? I recall when I was originally looking at the code
I didn't want to just remove that line, because it looked like that was
being used to first initialise the vc* structure when it is created, as
well as reset it every time. Doesn't this leave vc->vc_utf uninitialised
when a new VC is allocated?

--
Paul "LeoNerd" Evans

leonerd@xxxxxxxxxxxxxx
ICQ# 4135350 | Registered Linux# 179460
http://www.leonerd.org.uk/

Attachment: signature.asc
Description: Digital signature