すいません、さっそく。
>>557で書いた関数(command())の戻り値が*aなんですけど、この後この関数の戻り値で
行指定があったかどうかを判別してます。

cp = command(&a_no)
if (a_no > 0)

cpはswitch()に渡してます。(コマンド判別)

戻り値を引数にしてる???
ちなみに「3d」のような行指定は標準装備です。
わけわからんくなってきた・・・