exec のナニ
このあたり、v6 呑み会のテーマにして頂ければ非常に嬉しいのですが。
引数の取り扱い
引数なナニはポインタ配列になってて、て理解で良いのかな。前提として
- u.u_arg[1] にはポインタ配列の先頭アドレスが入ってる
- 3056 で =+ 2 してるあたりが微妙っちゃ微妙
- あ、型としてポインタじゃなくて int なのかorz
- na は Num of Arg で nc は Num of Char なのかどうか
あら、u.u_arg[1] を先頭なポインタ配列はイメージできたんですが、スタックに格納するナニが分からなくなってます。
あ、
3157 c = -nc;
な初期化がアレなのか。成程、ちょっとまだ明確にイメージできてないんですが
3154 ap = -nc - na*2 - 4;
なあたりがアレなのかどうか。
とは言え
- u.u_ar0[R6] が負の値
あたりが? って思ったら突然マップが頭に浮かんだ。
ap (-nc - ns*2 -4) c (-nc) | | +----+----+----+----+----+-----------------------+ |argc| pointer array |argument string array | +----+----+----+----+----+-----------------------+
なるほど。このあたりを材料に云々できれば良いのですが。