稀に見る糞コード

先日、お客さんから問い合わせがあった。
サーバーリプレースの作業の結果、動作しないアプリケーションが出てきたとのこと。

2000年前後に作成されたもので、VBを使ったリッチクライアントのシステムのクライアント側。
通信はHTTPを使って、OAS経由でDBとアクセスを行う。

どの辺りが糞かというと、通信の成功・失敗の判定を、受信データの総バイト数で判定していたこと。
つまり、アプリケーションサーバーが変わった事により、HTTPヘッダのサイズが変わり、エラーとなっていた。
ルールを無視するにも程がある…

昨晩、HTTPヘッダの文字数削減のため、あの手この手を打ってみたが、後5バイトが削りきれない。
最悪、プログラムの改修が必要かもしれない。酷い話だ。

実は通信部分のDLLを作ったのは私なのだが、VB側の共通関数郡も一緒に出してあったが、必要な部分のみを切り貼りして使ってたみたいだ。ソースを見てそのまま使えよと思ったのは言うまでもない。