[1882] Re:crowbar_book_ver4について
投稿者:(ぱ)こと管理人
2013/11/30 12:42:30
どたばたしておりまして対応が遅れました。すみません。
>realloc()が対象データを移動しかねないので、移動した場合、もしスタックのなかでネイティブ関数に渡す引数があれば、それを指すポインタ(arg_p)が無効化される恐れがありますね。
本当ですね……初歩的なミスでした。ご指摘ありがとうございます。
直すなら、ポインタでなく添字を渡して関数経由でアクセスするようにするのかと思いますが、ネイティブ関数全体に影響が出ます。少し考えさせてください。
ご指摘ありがとうございました。
>ついでに、CRB_create_interpreter()で、interpreter->stack.stack_alloc_sizeの初期値が0になってますが、それがSTACK_ALLOC_SIZEになったほうがいいではないでしょうか。
NULLを第一引数とするreallocはmallocと同じなので、どちらでもよいのではないでしょうか。