せっかくの機会なので gdb を試したかったんだけど、 bcc しかない環境だったので。
まず、 bcc で OpenHSP の hspcmp をビルド。
で、問題のスクリプトを食わせる。
すると。。。SEGVで落ちたりはしないのだが無限ループでいつまでも終了しない様子。
で、どこで無限ループになっているかprintfデバッグ!
どうやら、ここで無限ループになっていると分かりました。
どうやって調べたかって?
#define debugp_while() printf("while L%d\n", __LINE__)
こんなマクロを全てのwhileに追加したのさ。
続く(たぶん)