From: Araki K. <j00...@ip...> - 2002-01-08 15:34:20
|
荒木です:-) Subject: Re: [Mlterm-dev-ja] workaround for malformed escape sequence From: Araki Ken <j00...@ip...> Message-ID: <200...@pd...> Date: Wed, 09 Jan 2002 00:09:44 +0900 > LF だけってのもなんですので、isprint() を使ってみました。 > > ESC ] Ps ; Pt BEL > > シーケンスの Pt は、printable character 以外がくるはずがないので、これで > も問題はなさそうに思います。いかがでしょうか? すみません、問題おおありですね_o_ # 8 bit character のことを考えていませんでした。 とりあえず添付のパッチのような感じで、0x20 以上かどうかで判定するようにしました。 では -- kiken j00...@ip... Index: ml_vt100_parser.c =================================================================== RCS file: /home/ken/cvsroot/mlterm/src/ml_vt100_parser.c,v retrieving revision 1.178 diff -u -r1.178 ml_vt100_parser.c --- ml_vt100_parser.c 2002/01/05 09:36:04 1.178 +++ ml_vt100_parser.c 2002/01/08 15:23:57 @@ -1687,7 +1687,17 @@ } pt = str_p ; + + /* + * XXX hack + * The termination byte of Pt is originally 0x07(BEL) , + * but in case vt100 parser falls into infinite loop... + */ + #if 0 while( *str_p != CTLKEY_BEL) + #else + while( *str_p >= 0x20) + #endif { if( increment_str( &str_p , &left) == 0) { |