Messages in this thread | | | Date | Mon, 2 Apr 2007 12:26:07 +0100 | From | Paul LeoNerd Evans <> | Subject | Re: [PATCH 17/16] Do not reset UTF8 on terminal reset |
| |
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@leonerd.org.uk ICQ# 4135350 | Registered Linux# 179460 http://www.leonerd.org.uk/ [unhandled content-type:application/pgp-signature] | |