w3m のソースコード探訪

file.c の loadGeneralFile() で content-type を見て関数を振り分け。text/html の場合は loadHTMLBuffer() だね。
loadHTMLBuffer() では結果を格納するバッファを作ったりしてから loadHTMLStream() を呼んでる。ここいらの引数で渡されている URL は、単なる char ポインタではなくて「loadGeneralFile() において openURL() の戻り値になっている URLFile 型変数」へのポインタ。URLFile 型は html.h で typedef されている構造体。

うーん。HTMLlineproc てのがなんかやっているのかな。

c:\w3m-0.5.2> grep HTMLlineproc  *.h
proto.h:extern void HTMLlineproc2(Buffer *buf, TextLineList *tl);
proto.h:extern void HTMLlineproc0(char *istr, struct html_feed_environ *h_env,
proto.h:#define HTMLlineproc1(x,y) HTMLlineproc0(x,y,TRUE)

じゃ、proto.c に定義されているのか ... と思ったら proto.h にプロトコル宣言がまとめられているってことなのかしら。定義は file.c にあるらしい。HTMLlineproc0() がワンパス目で HTMLlineproc2() がツーパス目って感じなのかな。

halfdump, halfload

halfdump や halfload ってどういう意味なんだろう。

halfdump は半分処理したもの、なのかな