read.cgi再開発スレ Part2

このエントリーをはてなブックマークに追加
415root▲ ★
>>287 をやろうと思って、read.cgi のソースを眺め始めたりして。

今のread.cgiを見てみると、

if(!lookfor(ch2,r)) return 3001 ;

ってやって、まずdatがあるかどうか調べて、lookforの中で、

if(!apr_stat(&CountStat,ch2->zz_fName,APR_FINFO_MIN,r->pool)) /* found */
{
ch2->zz_filesize = CountStat.size ;
ch2->zz_mtime = CountStat.mtime ;
ch2->where = W_LIVE ;
return 1 ;
}

ってやって、datのサイズとmtimeを読んで、その次に、

if(apr_file_open(&in,ch2->zz_fName,APR_READ,APR_OS_DEFAULT,r->pool)) {return 3011;}

apr_file_read(in, ch2->BigBuffer, &ch2->zz_filesize);
apr_file_close(in) ;

とやって、datをバッファに読み込んでいると。

ここに >>287 相当品を組み込めばよさげなわけですが、さて、どうすればいいのかと。

たぶん、HEADしてGETするとか、そういう感じなのかしら。