■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50

read.cgi改良スレッド

468 :デフォルトの名無しさん :01/08/30 21:31 ID:hlW8zoEo
gzdopenで、dup(1)は要りません。gzio.c内で1を特別扱いしてます。
atexitfunc() から呼ばれるhtml_errorでexit()呼ばれるのはまずいっす。
あっ、どなたか直してくれてますね。

-/* dup()しないとgzclose()でstdoutを閉じてしまうので */
-pStdout = gzdopen(dup(1), "wb9");
+/* 引数1はzlib/gzio.cで特別扱い 仮にstdoutを設定し、closeしない */
+pStdout = gzdopen(1,"wb9");

gzipped_fwriteをこんな風にすると汎用性と混乱度があがっていいかも。

/****************************************************************/
/* receive gzipped data from zlib/gzio.c */
/****************************************************************/
int gzipped_fwrite(char *buf, int n, int m, FILE *fp)
{
  int l = n*m;

  if ( fp != stdout ) return fwrite(buf,n,m,fp);
  if ( outlen+l > outalloc ) {

335KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30