■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
read.cgi改良スレッド 2
- 418 :デフォルトの名無しさん :01/09/18 13:51
 -  >>414 
 >>で始まる他レス番号参照のところでのみ対応してみました。 
 あと、PATH_INFO時に他レスへのリンクが常に範囲指定になっていたのも 
 直しました。 
 
- 419 :デフォルトの名無しさん :01/09/18 14:15
 -  2001/09/18 13:09現在の採用状況 
 http://teri.2ch.net/test/read.cgi/accuse/1000730692/8 
 
- 420 :デフォルトの名無しさん :01/09/18 15:49
 -  >>415 
 タグが閉じるのが早くなるだけだから不正にタグを埋め込まれた 
 場合にはむしろ望ましいはずです。 
 <の置き換えだとかなり問題ですが。 
 
- 421 :デフォルトの名無しさん :01/09/18 15:52
 -  >>416 
 かちゅ〜しゃのバグです。せっかく開発してるのだからread.cgiで 
 見てみてください。ちゃんと書けてます。 
 
- 422 :421 :01/09/18 15:54
 -  417で自己レス入ってるのが見えなかった鬱打 
 
- 423 :デフォルトの名無しさん :01/09/18 16:52
 -  #ifdef NN4_LM_WORKAROUND 
 if (!memcmp(zz_http_user_agent, "Mozilla/", 8) 
     && zz_http_user_agent[8] == '4' 
     && zz_http_user_agent[10] >= '5' 
     && !strstr(zz_http_user_agent, "compatible")) 
 putchar('\n'); 
 else 
 #endif 
 この対策が必要なのはNN4.xでも4.5以降だけなので(それ以前 
 はそもそもgzipに対応していない)もっと絞り込めるはず。 
 それともgzip非対応バージョンでもContent-Lengthがあると 
 Last-Modifiedが無効になるのでしょうか。 
 
- 424 :デフォルトの名無しさん :01/09/18 16:54
 -  こうしたほうがいいか。 
 #ifdef NN4_LM_WORKAROUND 
 if (!memcmp(zz_http_user_agent, "Mozilla/4.", 10) 
 && zz_http_user_agent[10] >= '5' 
 && !strstr(zz_http_user_agent, "compatible")) 
 putchar('\n'); 
 else 
 #endif  
 
- 425 :デフォルトの名無しさん :01/09/18 17:26
 -  USE_CSSは 
  
 ・メールリンクなしのfusianasanやトリップに色が付かない 
 ・sageリンクをクリックしていても紫にならない 
 ・名前のリンクを選択中でも赤くならない 
  
 など、かなり見栄えへの副作用が大きいので、 
 とりあえずOFFを希望します。 
 
- 426 :425 :01/09/18 17:33
 -  あと、 
 ・CREATE_NAME_ANCHORが有効だとメールリンクなしの 
  名前まで青くなる 
 というのもありました。 
 
- 427 :デフォルトの名無しさん :01/09/18 17:52
 -  私の計算が間違っていなければ 
 <a href="mailto:sage "></a>も 
 <font color=#0000c0></font>も 
 同じバイト数で、SAGE_IS_PLAINはまったく意味がない 
 ので廃止を提案してみます。 
 
- 428 :デフォルトの名無しさん :01/09/18 18:00
 -  #ifdef ZLIB 
 if ( is_head() || gzip_flag == compress_none ) 
 #endif 
 { 
 /* HEADリクエストならここで終了 */ 
 if ( is_head() ) { 
 return 0; 
 } 
 } 
  
 は不必要に冗長。 
  
 /* HEADリクエストならここで終了 */ 
 if ( is_head() ) { 
 return 0; 
 } 
  
 と論理的に等価。 
 
- 429 :デフォルトの名無しさん :01/09/18 20:19
 -  PATH仕様で「ls=」を意味する文字を、「=」から「l」あたりに 
 変更することを提案します。 
 そうすると「"」を安全に省略できるので、リンク1つにつき 
 さらに2バイトの節約になります。 
 
- 430 :デフォルトの名無しさん :01/09/18 21:16
 -  >>428 
 ああ、それはHEADリクエストでも圧縮処理するように戻すことを考えて 
 残したんです。 
 
- 431 :デフォルトの名無しさん :01/09/18 21:27
 -  >>423 
 誰かNNユーザーの方この検証キボン 
 
- 432 :デフォルトの名無しさん :01/09/18 22:16
 -  >425-426 
  
 CSS の実装を提案した者です.ご意見ありがとうございます. 
  
 >・メールリンクなしのfusianasanやトリップに色が付かない 
 これは…トリップのところまで含めて </b> になってないのはなぜなんでしょう? 
 また,そこが太字であったら(見栄え以外の)不都合はありますか? 
  
 >・sageリンクをクリックしていても紫にならない 
 >・名前のリンクを選択中でも赤くならない 
 今は名前のところが<a><b>...</b></a>になっていますが,これを <b><a>...</a></b> には 
 できませんか?できるなら css 宣言の a b{color:blue} を外すだけで対応できます. 
  
 #ところでこのあたりの色,うちの IE55 NN478 Moz094 だといずれも紫にも赤にもならないのですが? 
  
 >・CREATE_NAME_ANCHORが有効だとメールリンクなしの名前まで青くなる 
 これは<a name></a> を<b></b> の前に置くか,あるいは <b><a>...</a></b> にして css の a b{} を外すか. 
  
 ということで,いずれも<a><b> の順番を変えるとかそういうことで対処できますが, 
 問題はそれをするのにどのくらい手間がかかるかということです. 
 <font color=green> のところは確実に減るのでその減る分に見合うだけの作業になるか 
 どうかですが,これは作業をしてくださる方の判断にお任せします. 
 
- 433 :デフォルトの名無しさん :01/09/18 22:43
 -  >>424,431 
 大丈夫そうに見えるのでcommitした。(memcmpはやめてstrncmpにした) 
 要NN4.0xで検証 
  
 >>429 
 =をlにした。"は、まだ取っていない。 
  
 >>339 
 PATH_INFOで/の数が不正の時にエラーになるようにした。 
  
 USE_CSSはとりあえずOFFにした。 
 
- 434 :デフォルトの名無しさん :01/09/18 22:43
 -  >これは…トリップのところまで含めて </b> になってないのはなぜなんでしょう? 
 名前欄に「</b>◆トリップ<b>」のように入るからです。 
  
 >また,そこが太字であったら(見栄え以外の)不都合はありますか? 
 トリップは◆があるからまだいいのですがfusianasanは騙りと区別が 
 付かないというかなり強力な不都合があります。 
 見栄えも十分問題だと思いますが。 
  
 >今は名前のところが<a><b>...</b></a>になっていますが,これを <b><a>...</a></b> には 
 そうすると今度はfusianasanしたとき<a>と<b>が互い違いに 
 なるのでネスケで細字に見えないという不都合が発生します。 
 というかそれでわざわざ順番を変えてもらったのです。 
  
 >#ところでこのあたりの色,うちの IE55 NN478 Moz094 だといずれも紫にも赤にもならないのですが? 
 うちのIE55では紫にも赤にもなるのですが。 
 NN478でもクリックした瞬間にはちゃんと赤になります。 
  
 >これは<a name></a> を<b></b> の前に置くか, 
 すると今度はメールリンクしなくなります。<a>要素をname用と 
 href用と2つ書いたらサイズが増えて本末転倒になりそうだし。 
  
 >あるいは <b><a>...</a></b> にして css の a b{} を外すか. 
 すでに述べた通り却下です。 
  
 >ということで,いずれも<a><b> の順番を変えるとかそういうことで対処できますが, 
 というわけでそうでもないです。あらためてUSE_CSSは 
 オフにすることきぼん。 
 
- 435 :434 :01/09/18 22:45
 -  って書いてる間にOFFになってましたか。 
 
- 436 :デフォルトの名無しさん :01/09/18 22:54
 -  >>435 
 名前の所を強烈にいじらないと問題ありそうだったからOFFにしました。 
  
 >>433 
 書き忘れ 
 >>427 
 <font color=#0000c0>を<font color=blue>に変えた。 
 これで一応意味はあるのかな。OFFだけど。 
 
- 437 :432 :01/09/18 22:55
 -  >434 
 なるほど.背景をきちんと理解せずに中途半端な提案をしていたようで,申し訳ありません. 
 以上のようなことがあるとすると,CSS を ON にするのは難しそうですね…. 
 やはり,見栄えを変えずに CSS でサイズ削減ってのは(今回の場合には)無理そうですね. 
 
- 438 :デフォルトの名無しさん :01/09/18 23:06
 -  まだちゃんと見てないんだけど、 
 PUT_ETAGがあるとdat_readを複数回呼ぶ場合があるんじゃない? 
  
 サーバーの負荷の問題もあるので、Etag使用は本当に必要な場合のみに 
 抑えたいところ。 
 
- 439 :デフォルトの名無しさん :01/09/18 23:22
 -  CSSの話は最初からボーっと眺めているだけで、 
 「IEとNNは大丈夫」を読んで、時代に逆行するけど 
 「それ以外に問題が発生したら、UserAgentからMozillaが含まる場合」などと、 
 昔よく行われていた(らしい)ことを考えていた。 
  
 もし、CSS使用時の他の問題が解決する目処が立ちそうなら、 
 UserAgentを判別してIEの場合だけCSSを使うとか、 
 NNの場合は<b>や<a>の順番を変える方法もありそうだね。 
 結構変更が大変そうだから、 
 転送量的に必要で、変更する手間があれば、だけど。 
 
- 440 :424 :01/09/19 00:33
 -  すんまへん、大嘘ついてました。NNのgzip対応は4.06からです。 
  
 GET http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&ls=100 HTTP/1.0 
 Proxy-Connection: Keep-Alive 
 User-Agent: Mozilla/4.06 [ja] (WinNT; I) 
 Host: piza2.2ch.net 
 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* 
 Accept-Encoding: gzip 
 Accept-Language: en 
 Accept-Charset: Shift_JIS,*,utf-8 
 
- 441 :デフォルトの名無しさん :01/09/19 00:38
 -  で、NN4.05で試すとAccept-Encodingがないにも関わらず、 
 なぜかgzip圧縮された内容が返ってきて見事に文字化けしたのですが、 
 これってread.cgi 5.20の既知の不具合でしたっけ? 
 もちろんキャッシュは完全にクリアしてから試しています。 
  
 GET http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&ls=100 HTTP/1.0 
 Proxy-Connection: Keep-Alive 
 User-Agent: Mozilla/4.05 [ja] (WinNT; I) 
 Host: piza2.2ch.net 
 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* 
 Accept-Language: en 
 Accept-Charset: Shift_JIS,*,utf-8 
  
 HTTP/1.0 200 OK 
 Proxy-Connection: Keep-Alive 
 Connection: Keep-Alive 
 Date: Tue, 18 Sep 2001 15:18:37 GMT 
 Server: Apache/1.3.6 (Unix) PHP/4.0.3pl1 mod_ssl/2.3.6 OpenSSL/0.9.3a 
 Content-Encoding: gzip 
 Last-Modified: Tue, 18 Sep 2001 14:22:56 GMT 
 Content-Length: 19216 
 Content-Type: text/html 
 
- 442 :441 :01/09/19 00:42
 -  んーNN4.06で見てみたけど今書き込んだ内容が反映されてない… 
 経路上のどこかにキャッシュでもあるんだろうか…。 
 
- 443 :441 :01/09/19 00:47
 -  Shift+リロードしたら圧縮されてない内容がちゃんと 
 返ってきました。やっぱりどこかでキャッシュされてたみたいです。 
 お騒がせしました。 
 
- 444 :デフォルトの名無しさん :01/09/19 00:50
 -  >>441-443 
 Proxy-Connection: Keep-Alive 
  ↑ 
 この辺か? 
 
- 445 :デフォルトの名無しさん :01/09/19 00:53
 -  4.05以前の場合どのみち圧縮された内容は返されない 
 (=Content-Lengthは出力されない)ので、そんなシビアに 
 取らなくてもいいと思われ 
  
 #ifdef NN4_LM_WORKAROUND 
 if (!strncmp(zz_http_user_agent, "Mozilla/4.", 10) 
 && !strstr(zz_http_user_agent, "compatible")) 
 putchar('\n'); 
 else 
 #endif 
 
- 446 :デフォルトの名無しさん :01/09/19 01:03
 -  >>445 
 あてた。 
 
- 447 :デフォルトの名無しさん :01/09/19 01:13
 -  ん? 先祖がえりしてるような…。 
  
 #ifdef NN4_LM_WORKAROUND 
 if (!memcmp(zz_http_user_agent, "Mozilla/", 8) 
     && zz_http_user_agent[8] <= '4' 
     && !strstr(zz_http_user_agent, "MSIE")) 
 putchar('\n'); 
 else 
 #endif 
 
- 448 :デフォルトの名無しさん :01/09/19 01:24
 -  >>447 
 http://www.gedoh.org/aki/2ch/current/bbs/ 
 の更新がとまってるみたい。 
 
- 449 :デフォルトの名無しさん :01/09/19 01:49
 -  現在の最新版を 
 ftp://readcgi.dyndns.org/incoming/read.tgz 
 に置いておきました。 
 
- 450 :夜勤 ★ :01/09/19 03:47
 -  みなさん、いつもありがとうございます。 
  
 新しいの入れようと思うのですが、、、 
 どれ(どこ)なのかな? 
 
- 451 :デフォルトの名無しさん :01/09/19 03:49
 -  >>450 
 >>449が最新です。 
  
 5.21の問題点 
  
 上に前、次があるのは転送量的に問題。 
 NORAML_TAGCUTは、要らなかった。 
 
- 452 :夜勤 ★ :01/09/19 03:53
 -  >>451 
 どーもです。 
 これから、choco に入れてみます。 
 
- 453 :夜勤 ★ :01/09/19 04:07
 -  Makefile:11: *** commands commence before first target.  Stop. 
  
 make ここて、止まっちゃいます。 
 なぜに? 
 
- 454 :デフォルトの名無しさん :01/09/19 04:10
 -  >>453 
 なぜだかわかりませんが、SRCSからの3行を削ってみたらどうでしょう? 
 SRCSはcgiを作るのには関係ありませんから。 
 
- 455 :夜勤 ★ :01/09/19 04:16
 -  うっ 
  
 こんどは、 
 Makefile:71: *** missing separator.  Stop. 
 
- 456 :デフォルトの名無しさん :01/09/19 04:18
 -  ?? 
 なんか、継続行を理解できないmakeな感じですね。 
 gmake 使えませんか? 
 
- 457 :夜勤 ★ :01/09/19 04:20
 -  gmake はいってないです。 
  
 GNU Make version 3.74, by Richard Stallman and Roland McGrath. 
 Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 Free Software Foundation, Inc. 
 This is free software; see the source for copying conditions. 
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
 PARTICULAR PURPOSE. 
  
 いままでの makefile で ok ですか? 
 5.21のやつ 
 
- 458 :デフォルトの名無しさん :01/09/19 04:22
 -  >>457 
 はい、SRCSに一つ追加しただけですから。 
  
 なんか変ですね。改行コードがおかしいのかしら? 
 
- 459 :夜勤 ★ :01/09/19 04:23
 -  いままでの Makefile で、make しました。 
 choco に 5.22 入りました。 
 
- 460 :夜勤 ★ :01/09/19 04:25
 -  >>458 
 なんか そんな感じです。 
 ちゃんと追っていないので、断定はできませんが、、、 
 何かへんなコードが紛れ込んでいるのかしらん? 
 
- 461 :デフォルトの名無しさん :01/09/19 04:28
 -  >>459 
 ご苦労さまでした。 
  
 しかし、Makefileのどこがまずいんだろう。 
 SRCSの最後にChangeLogを追加しただけなんですが。 
 
- 462 :夜勤 ★ :01/09/19 04:30
 -  #define R2CH_HTML_ERROR_5_TEMP \ 
 "隊長! スレッド <font color=deeppink><b>%s.dat</b></font> は、html化されるのを待っているようです。<br>しばらく待つしかない。\n" 
  
 次期 ver では、にしていただけるとありがたいです。 
 
- 463 :デフォルトの名無しさん :01/09/19 04:33
 -  >>462 
 やっときます。 
 
- 464 :デフォルトの名無しさん :01/09/19 04:57
 -  う、imode時のPATH仕様対応をやってたんだが一足遅かったか。 
 [r2chhtml.h] 
 /* tail: npath=生成するURLその1 nst=次のxxxレス 
  lpath=生成するURLその2 ls=最新レスxxx */ 
 #define R2CH_HTML_T_IMODE_TAIL(npath, nst, lpath, ls) \ 
 " <a href=\"" npath "\">次の" nst "レス</a>" \ 
 " <a href=\"" lpath "\">最新レス" ls "</a><br>\n" 
  
 /* tail: PATHナシ 
         %s=cgi %s=board %s=key %d=開始 %d=終了 %d=レス数 
         %s=cgi %s=board %s=key %d=レス数 %d=レス数 */ 
 #define R2CH_HTML_IMODE_TAIL \ 
         R2CH_HTML_T_IMODE_TAIL("%s?bbs=%s&key=%s&st=%d&to=%d&imode=true", "%d", \ 
                        "%s?bbs=%s&key=%s&ls=%d&imode=true" NO_FIRST, "%d") 
  
 /* tail: PATH仕様 
         %d=開始 %d=終了 %d=レス数 
         %d=レス数 %d=レス数 */ 
 #define R2CH_HTML_PATH_IMODE_TAIL \ 
 R2CH_HTML_T_IMODE_TAIL("%d-%di", "%d", \ 
        "l%di", "%d") 
  
 /* i-Modeで見たとき: PATH仕様 
                      %s=スレ名 %s=板 %d=一度に表示するレス数 
                      %d=一度に表示するレス数 %d=一度に表示するレス数 */ 
 /* </title>の前の空白は削除しないこと */ 
 #define R2CH_HTML_PATH_IMODE_HEADER_1 \ 
 "<html>" \ 
 "<head>" \ 
 "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">" \ 
 "<title>%s </title>" \ 
 "</head>" \ 
 "<body bgcolor=#efefef text=black link=blue alink=red vlink=#660099>" \ 
 "<a href=\"../../../../%s/i/\">■掲示板に戻る■</a>" \ 
 " <a href=\"1-%di\">レスを最初から読む</a>" \ 
 " <a href=\"l%di\">最新レス%d</a>" 
  
 #define R2CH_HTML_PATH_RELOAD_I \ 
 "<center><a href=\"%d-i\">新着レスの表\示</a></center><hr>" 
  
 #define R2CH_HTML_FORM_IMODE(depth) \ 
 "<form method=POST action=\"" depth "bbs.cgi\">\n" \ 
 "<input type=submit value=\"かきこむ\" name=submit> " \ 
 "NAME:<input name=FROM size=20 value=\"\">" \ 
 "MAIL:<input name=mail size=20 value=\"\">" \ 
 "<br>" \ 
 "<input type=hidden name=bbs value=%s>" \ 
 "<input type=hidden name=key value=%s>" \ 
 "<input type=hidden name=time value=%ld>" \ 
 "<textarea rows=5 cols=60 wrap=off name=MESSAGE></textarea>" \ 
 "</form><br>" 
 
- 465 :デフォルトの名無しさん :01/09/19 04:59
 -  机上デバッグしかやってないのでうまく通らないかも。 
 [read.c] 
 out_html()に追加: 
 #ifdef USE_PATH 
 if (path_depth) 
 pPrintf(pStdout, R2CH_HTML_PATH_IMODE_TAIL, 
 lineNo, lineNo + RES_IMODE, RES_IMODE, 
 RES_IMODE, RES_IMODE); 
 else 
 #endif 
  
 html_head()に追加: 
 #ifdef USE_PATH 
 if (path_depth) 
 pPrintf(pStdout, R2CH_HTML_PATH_IMODE_HEADER_1, 
 title, zz_bs, RES_IMODE, 
 RES_IMODE, RES_IMODE); 
 else 
 #endif 
  
 html_reload()に追加: 
 #ifdef USE_PATH 
 if (path_depth) 
 pPrintf(pStdout, R2CH_HTML_PATH_RELOAD_I, startline); 
 else 
 #endif 
  
 html_foot_im()に追加・変更: 
 #ifdef USE_PATH 
 if (path_depth) 
 pPrintf(pStdout, R2CH_HTML_FORM_IMODE("../../../"), zz_bs, zz_ky, currentTime); 
 else 
 #endif 
 pPrintf(pStdout, R2CH_HTML_FORM_IMODE(""), zz_bs, zz_ky, currentTime); 
 
- 466 :デフォルトの名無しさん :01/09/19 05:01
 -  >>462 
 done. 
  
 tag: YAKIN20010919を打った。 
 MakefileのSRCSを分割してみた。これでなんとかならないかな? 
 
- 467 :名無し娘。 ◆vP.bOZFQ  :01/09/19 13:12
 -  みなさんお疲れさまです。 
 5.22のユーザーインタフェース(?)すごく使いやすい。。。とてもお気に入りです。 
 使いやすすぎるのが転送量的に問題とならないことを祈ります。 
 
- 468 :デフォルトの名無しさん :01/09/19 16:04
 -  http://www.gedoh.org/aki/2ch/current/bbs/ 
 ってもう更新されないんですか? 
 
- 469 :デフォルトの名無しさん :01/09/19 17:26
 -  >>464-465 
 やってみた。 
 
- 470 :転載 :01/09/19 20:43
 -  ニュース速報が最新スクリプト5.22になっていた。 
 
- 471 :デフォルトの名無しさん :01/09/19 20:44
 -  見栄えに副作用を与えないUSE_CSS案。のつもりだったんだが 
 どういうわけかNN4だと名前が全部緑になりやがる。 
 マジで氏ね>ネスケ 
  
 #ifdef USE_CSS 
 #define R2CH_HTML_CSS_DEFINE \ 
 "<style type=\"text/css\"><!--" \ 
 "body{background:#eee;color:#000}" \ 
 "a{color:green}" \ 
 ":link{color:blue}" \ 
 ":visited{color:#609}" \ 
 ":hover{color:red}" \ 
 "--></style>" 
 #define R2CH_HTML_BODY_DEFINE "<body bgcolor=#efefef text=black link=blue alink=red vlink=#660099>" 
 #else 
 #define R2CH_HTML_CSS_DEFINE "" 
 #define R2CH_HTML_BODY_DEFINE "<body>" 
 #endif 
  
 #define R2CH_SIMPLE_HTML_HEADER_1(title) \ 
 "<html>" \ 
 "<head>" \ 
 "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">" \ 
 "<title>" title " </title>" \ 
 R2CH_HTML_COOKIE_SCRIPT \ 
 R2CH_HTML_CSS_DEFINE \ 
 "</head>" \ 
 R2CH_HTML_BODY_DEFINE 
  
 [CREATE_NAME_ANCHORがオフのほうを変更。オンのほうはそのままでいい] 
 #ifdef USE_CSS 
 #define R2CH_HTML_RES_NOMAIL(n, nm, d, t) \ 
 "<dt>" n " " R2CH_HTML_NAME "<a><b>" nm " </b></a> " R2CH_HTML_DATE d "<dd>" t "<br><br>" 
 #else 
 
- 472 :デフォルトの名無しさん :01/09/19 20:54
 -  #ifdefined(LATEST_ANCHOR) && !defined(SEPARATE_CHUNK_ANCHOR) 
 /* LATEST_ANCHORも常に生きにする */ 
  
 どっちが正しいの? 
 
- 473 :デフォルトの名無しさん :01/09/19 20:57
 -  #if 0/* #ifdef USE_PATH */ 
 ってやっぱ気持ち悪いから 
 #ifdef USE_INDEX 
 にしたいなあ。と言ってみる。 
 
- 474 :デフォルトの名無しさん :01/09/19 21:01
 -  SAGE_IS_PLAINについて。 
 どうせ3バイトの節約にしかならないなら 
 <font color=blue></font> 
 より 
 <a href=mailto:sage></a> 
 のほうがCREATE_NAME_ANCHOR時に有利なぶんいいと思われ 
  
 それにこれだと見栄えに影響を与えないからONにしても 
 いいはず。 
 
- 475 :デフォルトの名無しさん :01/09/19 21:02
 -  /* ここには、If-None-Matchを付加しないUAのリスト 
    (又は付加するUAのリスト)を置き 
    無意味な場合にfalseを返すのが望ましい。 */ 
  
 If-None-Matchが規定されたのはHTTP/1.1からだから 
 HTTPバージョンを見るといいのではないかと。 
 
- 476 :デフォルトの名無しさん :01/09/19 21:06
 -  rawmodeでERR_NOT_FOUNDのとき、 
 ・倉庫落ちかどうか判別できるようにする 
 ・倉庫落ちで.datにアクセス可能ならそのURLを返す 
 ことを提案。 
  
 倉庫にもないことがその場で分かればツールが無駄に 
 もう一度アクセスする必要がなくなる。 
 過去ログURLの形式が変わるたびにツールのほうで 
 対応しなおす必要もなくなる。 
 
- 477 :デフォルトの名無しさん :01/09/19 21:08
 -  rawmodeのとき、たとえば 
 +OK 12345/512K 
 のような形式で、ツールに限界サイズを知らせるようにすることを 
 提案。 
  
 dat直接アクセスが禁止されればツールも「大きすぎます」の 
 影響を受けるようになるのでこの情報が必要になるはず。 
 
- 478 :デフォルトの名無しさん :01/09/19 21:20
 -  >>476 
 [r2chhtml.h] 
 #define ERRORMES_NOT_FOUND "そんな板orスレッドないです。" 
 #define ERRORMES_DAT_FOUND "過去ログ倉庫で発見 %s" 
 #define ERRORMES_TEMP_FOUND "html化待ち" 
  
 [read.c] 
 #ifdef RAWOUTの前に 
 *tmp = '\0'; 
 strcpy(tmp, LastChar(zz_ky, '/')); 
 kako_dirname(zz_soko, tmp); 
 を移動。 
  
 #ifdef RAWOUT 
 if(rawmode) { 
 /* -ERR (message)はエラー。 */ 
 if (errorcode == ERROR_NOT_FOUND) { 
 sprintf(doko, KAKO_DIR "%.50s/%.50s.dat", 
 zz_bs, zz_soko, tmp); 
 if (!stat(doko, &CountStat)) { 
 pPrintf(pStdout, "-ERR " ERRORMES_DAT_FOUND "\n", doko); 
 } else { 
 sprintf(doko, TEMP_DIR "%.50s.dat", 
 zz_bs, tmp); 
 if (!stat(doko, &CountStat)) { 
 pPrintf(pStdout, "-ERR %s\n", ERRORMES_TEMP_FOUND); 
 } else { 
 pPrintf(pStdout, "-ERR %s\n", mes); 
 } 
 } 
 } else 
 pPrintf(pStdout, "-ERR %s\n", mes); 
 exit(0); 
 } 
 #endif 
 
- 479 :名無し娘。 ◆vP.bOZFQ  :01/09/20 00:41
 -  >>476 
 ちょっと関連しますが、将来的には /kako/ 以下の .dat は rawmode で 
 あろうとなかろうと、read.cgi が扱った方が転送量減ると思うのですが、 
 予定としてはどうなのでしょう。。。 
 /kako/ 行きでも ls st to の指定ができるのは大きいと思いますので。 
 # 今でもブラウザでURL指定すればできますが、いちいちやってくれる人は 
 # 多くはないかと。結果、/kako/ 行きのものは html 全体が呼び出される、と。 
 
- 480 :デフォルトの名無しさん :01/09/20 00:52
 -  >>479 
 ># 今でもブラウザでURL指定すればできますが、 
  
 これの意味が分からん。 
 
- 481 :名無し娘。 ◆vP.bOZFQ  :01/09/20 02:25
 -  >>480 
 ごめん、忘れて(^^; 
 
- 482 :デフォルトの名無しさん :01/09/20 03:07
 -  >>473 
 >>478 
 >  USE_INDEX用処理の一部が#if 0になっていたので#ifdef USE_INDEXに訂正。 
 >  rawmodeリザルトで "-ERR 過去ログ倉庫で発見 %s" と "-ERR html待ち" 追加。 
 やったんだけどcvsにcommit挑戦してるんだが固まってる… 
 落ちてるのか? 単に重いのか? 
 
- 483 :482 :01/09/20 03:21
 -  >Secure connection to iwato.uryusoft.net refused. 
 >cvs [commit aborted]: end of file from server (consult above messages if any) 
 (´д`;) 
 
- 484 :デフォルトの名無しさん :01/09/20 03:27
 -  ホスト名出したらまずくないか? 
 CVSたててくれたけど、ログに残るの嫌がってたのに。 
 
- 485 :483 :01/09/20 03:32
 -  >>484 
 すまん、うっかりしてた。 
 
- 486 :ghanyan :01/09/20 04:03
 -  read.cgiの5.22ですが、RAWモードで末尾に変なHTMLがつくみたいです。 
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&raw=0.0 
 で確認してください 
 
- 487 :デフォルトの名無しさん :01/09/20 04:11
 -  不具合は確認。 
 HTMLヘッダが最後についちゃってる。 
 これから原因調べます。 
 
- 488 :デフォルトの名無しさん :01/09/20 04:14
 -  原因判明。 
 main()の最後で、 
 #ifdefREFERDRES_SIMPLE 
  if (can_simplehtml()) 
   out_simplehtml(); 
  else 
 #endif 
  dat_out(0); 
 これがあるので、RAWMODEの最後にゴミが付く。 
 
- 489 :デフォルトの名無しさん :01/09/20 04:18
 -  >>488 
 >#ifdef USE_INDEX 
 >        if (path_depth == 2) { 
 ここでelseのchainが切れてしまってるんだな。 
 >        else if (path_depth == 2) { 
 とすれば直るはず。 
 
- 490 :488 :01/09/20 04:20
 -  >>489 
 いかん、else入れる場所違うな。 
 >        } else 
 >#ifdef USE_INDEX 
 >        if (path_depth == 2) { 
 こんなふうにしないと。 
 
- 491 :489=490 :01/09/20 04:21
 -  >>490 
 あ、490は俺。名前間違った 
 
- 492 :デフォルトの名無しさん :01/09/20 04:28
 -  >>490 
 対策は、 
 #ifdef RAWOUT 
  if (rawmode) 
   dat_out_raw(); 
  else 
 #endif 
 を 
 #ifdefREFERDRES_SIMPLE 
 の直前にもってくるか、 
  if (rawmode) { 
   dat_out_raw(); 
   return 0; 
  } 
 とすれば楽なんじゃないかな? 
  
 ツール作者の方々、申し訳ありませんが、 
 Ver5.22がこの世の中から消滅するまでの間、 
 サイズを手がかりに切り捨てちゃってください。 
 
- 493 :デフォルトの名無しさん :01/09/20 04:31
 -  お、CVS復活してる 
 
- 494 :482 :01/09/20 04:31
 -  >>473 >>478 >>489 
 cvs commitできた。 
 鯖オーナーありがとう。 
 
- 495 :aki :01/09/20 04:53
 -  ごめん。 
 YahooBB来たんでocnとマルチホームさせたり 
 Nimda対策で壁の設定いじってたりして間欠的に落ちてました。 
  
 gedoh.orgのミラーが止まってるのは謎なので調べてみます。 
 
- 496 :aki :01/09/20 05:01
 -  cron埋まってた;) 
 
- 497 :デフォルトの名無しさん :01/09/20 05:16
 -  おつかれさまですぅ 
 いつもありがとうございますぅ 
 
- 498 :ghanyan :01/09/20 05:33
 -  http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&raw=0.0 
 をリクすると、 
 >Content-Length: 23869 
 >Content-Encoding: gzip 
 で、展開後のサイズは111,953バイト 
 展開後の一行目は+OK 45902 
 OKの後に続く数字はいったい何なんでしょう? 
 
- 499 :デフォルトの名無しさん :01/09/20 05:37
 -  >>498 
 データ部のサイズです。 
 
- 500 :ghanyan :01/09/20 05:42
 -  すみません、あんまりサイズが違うもんで、ちょっと不安になってしまいました。 
 
- 501 :デフォルトの名無しさん :01/09/20 05:48
 -  >>500 
 5.22のバグで、後ろに余分なものがついてます。 
 +OKに書かれたサイズ分より後ろは無視してください。 
  
 それにしてもずいぶん差があるな… 
 
- 502 :デフォルトの名無しさん :01/09/20 05:56
 -  これ、datの後にhtmlが送られてきてる感じ。 
 長い1行データがテキスト扱いで来るから、IEが死にそうになる。 
 これで末尾は短く出来ると思うけど、どう? 
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&raw=0.0&ls=1 
 
- 503 :デフォルトの名無しさん :01/09/20 06:18
 -  ETag生成時、dat_read()が二回呼ばれることがあったが、1回のみにするようにした。 
  
 >>490 
 確かにreturn入れたほうがケアレスミス防げるね。ってことで入れた。 
 
- 504 :デフォルトの名無しさん :01/09/20 06:24
 -  >dat_read()が二回 
 dat_read()の先頭で対策されている 
 
- 505 :デフォルトの名無しさん :01/09/20 06:33
 -  ぬお、いつのまに。1.113で入ってたのか。 
 つーことで無駄な追加だったので消しました。 
 ChangeLogも適切な位置に移動。 
 
- 506 :デフォルトの名無しさん :01/09/20 06:42
 -  げ、pathと旧形式の出力を統合してたんだが、 
 1.124と内容までコンフリクトしちまった。 
 形式気にしないで出力できるようにしたんだが、 
 さて、どうしよう。 
 
- 507 :1.124の人 :01/09/20 06:51
 -  んと、俺が考えていたのは、 
 あれから発展させて、r2chhtml.hを少しいじって 
 pPrintfのフォーマット以外のパラメータを 
 (特に#ifdef USE_PATHと#elseとで)統一しようかなと。 
  
 で、将来的に必要があれば 
 時間帯やUA,imode,PATH_INFO,SETTING_FILE等による 
 実行時の出力切替を容易にすることも可能だろうと。 
 struct { 
  const char *head1; 
  const char *head2; 
  const char *res_mail; 
  const char *res_nomail; 
  ・・・ 
 } zz_html = { 
  R2CH_HTML_・・・ 
  R2CH_HTML_・・・ 
 }; 
 こんな感じで、実行時にzz_html.head1等を書き換えて 
  pPrintf(pStdout, zz_html.head1, ...); 
 という形式にしたいなって。 
 (ただし、フォーマット間違いの警告が出なくなると思うけど) 
 
- 508 :506 :01/09/20 06:57
 -  >>507 
 URLの生成を関数に追い出して、文字列を共用できるようにしたんだが、 
 たとえば、こんな感じ。 
  
 pPrintf(pStdout, R2CH_HTML_CHUNK_ANCHOR("%s", "1"), 
     create_link(1,CHUNK_NUM,0,0,0) ); 
  
 ついでに、path形式の時は"を取るなど。 
 
- 509 :506 :01/09/20 07:04
 -  やってることは大差ないんだが、機能がダブってるんでマージできないんだよね。 
 ちなみに、r2chhtml.hにPATHの文字は残っていない。 
 
- 510 :デフォルトの名無しさん :01/09/20 07:06
 -  506の方法は美しそうだ。がんばれ(笑) 
 
- 511 :507 :01/09/20 07:24
 -  rewrite_hrefの方はconflictしてないだろうとして、 
 「掲示板に戻る」のリンク先かな? 
 可能なら、zz_board_nameから作成してもらったほうがいいけど、 
 だめなら、無視してくださいな。 
 html_head/html_footの内部の 
 #ifdef USE_PATH 
 #endif 
 #ifdef CHECK_MOD_GZIP 
 #endif 
 #ifdef GZIP 
 #else 
 #endif 
 が1つのpPrintfだけになっちゃったから、その辺がまずいかな。 
  
 あと、zz_server_softwareも、 
 「使わないから消した」だけだから、 
 必要ならもどしちゃってください。 
  
 将来formatの切替を考えるにしても、 
 パラメータが(関数としてでも)統一されさえすればよいので、 
 無理にzz_thread_nameにこだわるつもりはないです。 
 
- 512 :506 :01/09/20 07:34
 -  >>511 
 実は、rewrite_hrefから何からread.cgiを呼び出す奴は全ていじった。 
 掲示板に戻るも考え方は同じだが、違う実装をした。 
  
 他にも、細かい所を修正してあったので、悪いが1.124の変更はキャンセルして 
 commitしました。 
  
 途中のマージ忘れがないか、これからチェックします。 
 
- 513 :デフォルトの名無しさん :01/09/20 07:49
 -  特に機能的に変更した内容はChangeLogにも書いて頂けますか? 
 
- 514 :506 :01/09/20 08:06
 -  >>513 
 機能的な変更は、ほとんどがバグ対応です。 
 マージミスの修正とコメントの追加が済んだら、一緒にコミットします。 
 
- 515 :デフォルトの名無しさん :01/09/20 08:19
 -  >>472ですが、 
 LATEST_ANCHORは常に生きにしたはずなのに 
 conditionが残ってるのはどうしてなんでしょうか? 
 (ALL_ANCHORのほうは残ってない) 
 
- 516 :506 :01/09/20 08:42
 -  >>514 
 コミットしました。 
  
 >>515 
 SEPARATE_CHUNK_ANCHORの時に出力する場所が違うせいで、 
 取りにくかったのが原因かな。 
 
- 517 :デフォルトの名無しさん :01/09/20 09:05
 -  整理されてみると、first_line()やlast_line()が何回も呼ばれているのが気になってくる。 
 
325KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30