5250エミュレータ

58. 市販5250エミュレータの深刻なバグ

ある国内で市販されている5250エミュレータに深刻なバグが見つかった。

これはPCオーガナイザー(=STRPCO)でPCで実行する文字列に文字「&」が
含まれているとそれ以降は脱落して渡されないというバグである。

                          PC コマンドの開始  (STRPCCMD)                         
                                                                                
  選択項目を入力して,実行キーを押してください。                                
                                                                                
  PC コマンド   . . . . . . . . .   CMD.EXE&PARM=A001&DEV=DSP01                 
                                                                                
                                                                                
  停止  . . . . . . . . . . . . .   *YES          *YES, *NO                     
                                                                                

というような実行をすると実際に実行されるのは

CMD.EXE&PARM=A001&DEV=DSP01 ではなく

CMD.EXE のみである。

つまり & から後ろの文字列はすべて脱落してしまうのである。
このような仕様はIBMの5250エミュレータにはなく5250ストリームの仕様にも
このような仕様は存在せず明らかなこのエミュレータのバグである。
これは深刻な問題でエミュレータとして失格である。
これではPCオーガナイザーを安心して使用することはできない。
もちろんAutoWebにはこのような稚拙なバグはない。
AutoWebのSTRPCCMDの処理は特殊文字にはかなり慎重に配慮して処理しているので
このような問題は発生しない。
この5250エミュレータは大手特約店の製品のようであるが
AutoWebでは IBM製エミュレータ以外は動作保証しないのは
このような製品での原因を調査して初めてこの製品のバグであることが
判明したからである。
STRPCOは大切な機能なので特約店もしっかりした製品をリリースして欲しいものである。
実はSTRPCCMDは5250ストリームの内部に非表示で実行コマンドが埋め込まれている。
この5250ストリームの中の文字列を取り出すだけの簡単な処理なのであるが
このバグは文字 & を見つけるとその時点で文字列の終了としているようである。
かなり程度の低いバグである。
恐らくこのエミュレータで意図的に処理して別の意図があった脱落させてものだと
思う。
こんな簡単なバグを見逃しているとは製品の信頼性を揺るがしてしまう。
もちろんこのエミュレータは弊社製品の保証の対象外である。
どこにバグが潜んでいるかもしれない製品と一緒に使って欲しくないものである。

やはり製品は品質が最も大切である。