namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Request for Win32 user (Re: namazu-112-proto-9.tar.gz (Re: namazu-112-proto-8.tar.gz)



広瀬と申します。

一応試してみました。
環境は
win95 + cygwin32 gcc 2.7-97r2aBeta + apache for win32 1.3b3
です。

 <kshimz@xxxxxxxxx> wrote.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>また、OS/2 ICS httpd だと、上記の不具合(検索結果が 0 件のときにブラ
>ウザにデータが返らない)の他に、cgi の出力の最後尾の一部のデータがブ

一応
---8<------8<------8<------8<------8<------8<------8<------8<------8<------8<--
検索式:   
表示件数:  要約表示:  
検索結果
参考ヒット数: [ perl: 0 ] 
検索式にマッチする項目はありませんでした。
---8<------8<------8<------8<------8<------8<------8<------8<------8<------8<--
と表示されます。

>ラウザに返らない、という現象があります。だいたい、検索結果が 20 件以
>上の場合に表示される、
> Page: [1] [2] .... [20] ....
>の行の途中までしか表示されないことがあります。これは頻繁に再現します

srnmz.c の PAGE_MAX を
#define PAGE_MAX       60	/* 検索結果出力のページの最大数 */
てなふうにすれば
---8<------8<------8<------8<------8<------8<------8<------8<------8<------8<--
	:
	:
Current List: 1 〜 20
Page: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 
[18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29]
[30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] 
[46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57]
[58] [59] [60] 
---8<------8<------8<------8<------8<------8<------8<------8<------8<------8<--
と表示されます。
#あまり回数は試していないですが。。。

>が、100% 再現するわけでもないのです。で、このケースでは、次の画面(
>同じ検索結果の次のページや、別の検索結果)の最上部に、前の画面の送ら
>れなかったデータが表示される(ブラウザに送信される)という現象が起こ
>っています。

これは残念ながら ^^; 見た事はありません。


>閑話休題。
>さっき、namazu-1115 の srnmz.c を見ていたら、cgi での出力に
>>  static char *MIME_HEADER = "Content-type: text/html\r\n\r\n";
>と改行に CR+LF を使っている行が1つだけあります。
>それ以外は
>> static char *HIT2 = " 個の項目が見つかりました。</STRONG></P>\n\n";
>などと、改行が LF だけになってます。
>たしか、httpd では改行は CR + LF とすることになってますよね?

確かに http では CRLF にしなさいと言う事らしいですね。

>ちなみに、OS/2 の emx gcc では、\n を CR+LF に変換してくれるので、
>ソース中で \n だけにしても、httpd に渡る際には CR+LF になっています。
>\r はそのまま、CR になります。
># つまり、ソースに \r\n と書かれていると、CR CR LF になっちまう :-(

win では cygwin32 で compile したものを*素の*DOSプロンプトで実行すると
ちゃんと CR は CR だけ LF は LF だけ出力されるようです。

>で、srnmz.c で cgi に出力される際の \r\n と \n の混在をやめるべく。
>>  static char *MIME_HEADER = "Content-type: text/html\r\n\r\n";
>の行を、
>>  static char *MIME_HEADER = "Content-type: text/html\n\n";
>と修正しただけで、上記の ICS の bug に起因する不具合は、とりあえず回
>避できました。

win でもこの修正をしても特に問題無かったです。

	:
	:
>OS/2 (および Win32) の場合、
>>  static char *MIME_HEADER = "Content-type: text/html\r\n\r\n";
>は
>>  static char *MIME_HEADER = "Content-type: text/html\n\n";
>の方が望ましい(\n だけでも出力コードは CR+LF になるハズ)と思うので、

CR+LF にはならないようですが。。。

>Win32 で gcc の環境がある方は、これで不具合がでるかどうか試していただ
>けないでしょうか。

特に動かないと言う事はありませんでした。
#どっちにするかは。。。どうしよう ^^;;;;

   Best regards,
--
Ken-ichi Hirose (^^)k!
e-mail: hirose@xxxxxxxxxxxxxxxxxxxx