記事閲覧・返信 |
---|
タイトル | : Re^4: 今度はgrepで (^_^;) |
投稿日 | : 2024/09/03(火) 23:48 |
投稿者 | : たけだ | 番 号 | : 11428 11417 番 鈴木康弘 さんへのコメント コメント数 2 |
GREP -pを実行すると、^G (BELL)をCON出力してBEEPを鳴らします。
これを拾ってしまっているものと思われます。
CON出力は、INT 29hで画面に表示されます。
VZはINT 29hをフックすることで、実行したプログラムの出力を取得しています。
CON出力にANSI.SYSが刺さっている場合はANSI.SYSがINT 29hを呼びますが、
BELLコードはANSI.SYS内で処理されて、INT 29hに渡されないようです。
コマンド引数にフサ4が付く件ですが、古いVZの子プロセスの呼び出し方の問題と、
GREP側のコマンド引数の受け取り方の食い合わせが悪いようです。
コマンド引数は、コマンド引数の文字列長+コマンド引数+ターミネータ(0x0D)
の形でメモリに格納されて、子プロセスに渡されます。
多分ですが、VZは文字列長はセットしてるけどターミネータがセットしていない、
GREPは文字列長を無視してターミネータのところまで引数として受け取っている、
みたいなことが起きているのではないかと。
今晩辺り、この辺の対策を入れてリリースします。
- No.11428 一括表示へ - コメント元:11417 一括表示へ - soft