ホストダウンの原因が一つ掴めた。会社のM君(時々この「SYSOP日記」に登場する)がたまたまアクセスしていた時に発生。彼が何をしたかといえば、ボードの日付検索で 90/04/02 と入力すべきところ 900402 と入力した。とたんにパソコンの画面には化け文字が流れその後ATLASからは何も応答なし。ホストがダウンした。(現在は修正済みですので試してもダメです。)ホストの画面には「計算結果がオーバーフローしました。」のエラーメッセージが表示されていた。900402が整数変数の最大値&H7FFFを越えたという事である。コーディングは次のようにしていた。
R% = VAL(REC$) (REC$ には "900402" が代入されている)ここでQBは情容赦なくエラー表示とともにプログラムを停止してしまう。このようなエラー検出はBASICが非常に親切に設計されている事の証明ではあるが、連続運転のホストにとってはうっとおしい限り。Cならばオーバーフロがあろうがなかろうが動いてくれる(int r = atoi(char *rec); とでもなるのでしょうか)。BASICでコーディングするには初心者向き言語といえども案外と細部まで気を配る必要があるようだ。
ともかくも一つバグがつぶれてめでたし。ところがもう一つ未解決のホストダウンが発生している。こちらの方は画面にエラー表示もせずにプログラムが停止する。いかんともしがたい。(実は、ホストプログラムをすべてCで書き直すことに決定。すでに部分的なモジュールができつつある。機能要望などあれば連絡してください。)