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

read.cgi改良スレッド 2

1 :名無し娘。 ◆vP.bOZFQ :01/09/09 20:38
ここは read.cgi の改良だけを専門に扱うスレッドです。

2ちゃんねるで行われている他のプログラム開発や、動作報告・障害報告等に
ついては、それぞれ専用のスレッドが
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&ls=20
に一覧されておりますので、移動してください。お願いします。

●前スレ
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848

●read.cgi最新ソースコード(定期的に同期されています)
 http://www.gedoh.org/aki/2ch/current/bbs/
 http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html

●2ちゃんねる軽量化関連スレッド群
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&ls=20

●前スレで提示されている案・意見の一覧
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&st=30
 あたりにまとめられているはず。

2 :デフォルトの名無しさん :01/09/09 20:45
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&st=927&to=930

if( s[2]!=0 && (strstr( s[2], "ストッパー" ) || strstr( s[2], "停止" )) ) threadStopped=1;

これだと
・偽ストッパーが出たら困るんでは?
・スレスト解除になってたら困るんでは?
つー気がするです。

3 :デフォルトの名無しさん :01/09/09 20:48
>>2
・s[2]は投稿日なので偽ストッパーは掛かりません。
・スレスト解除ならストッパーのレスも消されるはずです。
したがって問題ないと思います。

4 :デフォルトの名無しさん :01/09/09 20:48
>>2
ではどんなふうにすれば良いと思う?

5 :デフォルトの名無しさん :01/09/09 21:14
someReplaceの必要性について。
someReplaceは、non-TYPE_TERIのときに
・@+`を , へ置換
・&ampを&へ置換
するために使われていますが、どちらもressplitter_split内で
すでに行われており、不要です。とくに後者は二重にかける
とかえって表示がおかしくなります。
out_htmlx内のTYPE_TERIによるconditionはnon-CUTRESLINK
時代の遺物であり、conditionごと削除してしまって構いません。

6 :前スレ775 :01/09/09 21:15
>>5
んじゃそれを信じてバッサリいきまーす

7 :デフォルトの名無しさん :01/09/09 21:19
>>3
>・s[2]は投稿日なので偽ストッパーは掛かりません。
ぶラジャー。

>・スレスト解除ならストッパーのレスも消されるはずです。
>したがって問題ないと思います。

そうとも限らない。
鯖移転でスレスト解除となった場合はストッパーレス付きのまま。

8 :6 :01/09/09 21:21
>>5
doReplace, someReplaceバッサリ消した。

9 :デフォルトの名無しさん :01/09/09 21:23
>>7
>そうとも限らない。
>鯖移転でスレスト解除となった場合はストッパーレス付きのまま。

それは本来書き込めるべきではないのですから、
自主規制の意味でもフォームは必要ないと思います。

10 :デフォルトの名無しさん :01/09/09 21:32
>>9
いや、たとえば重複でスレストになっていて、鯖移転後のシャッフルで
本スレの方が順位が下になってスレ圧縮がかかり、本スレが倉庫行き
になった場合、スレスト解除になっている重複スレを本スレとして復活
させたい場合があるだろ。(実際そうなった板がある)

11 :デフォルトの名無しさん :01/09/09 21:41
>>10
ソースを見る限り最終レスがストッパーかどうかしか見ていない
ようなので、そういう状態で続行しているスレならちゃんと
フォームはでると思います…が確認してもらいたいので可能なら
スレのURLきぼん。
今後そういう状態になった場合はスレを立て直せばいいですし。

12 :デフォルトの名無しさん :01/09/09 22:06
http://kaba.2ch.net/test/read5x.cgi/news/
で[ここ壊れています]が大量に出るんだけど
これは修正の必要ないの?

13 :デフォルトの名無しさん :01/09/09 22:06
>>11
>今後そういう状態になった場合はスレを立て直せばいいですし。

過疎板でそれはきついな…
ちなみに、その板はいま見れないので確認不能。
2ch.server.ne.jpからebiに移ったいくつかの板で見れると思う。

14 :デフォルトの名無しさん :01/09/09 22:22
http://ton.2ch.net/test/read.cgi?bbs=gline&key=997994037
のdatを使い、とりあえず、ローカルで動かした結果では、
そのままではFORMも「新レス」も表示されず、
手動で30行目と29行目を入れ替えてから試すと
FORMも「新レス」も表示された事を報告しておきます。

まあ、当たり前ですが、ソース通りに最終レスしかチェックしてないということです。

15 :デフォルトの名無しさん :01/09/09 22:38
最終レスしかチェックしないのはかまわなくて、スレスト解除がかかった後に
bbs.cgiが許容しているのにread.cgiがFORMを出さないせいで実質的に
スレストのまま、という状態が2chの仕様としてどうか、って事なんだけど。

16 :デフォルトの名無しさん :01/09/09 22:41
>>15
解除されているかどうかはどうやったら分かるのかな。

17 :デフォルトの名無しさん :01/09/09 22:44
>>15
それは本来書けるべきでないものだから修正するとしたら
bbs.cgiのほうを書けないように修正するのが筋かと思われ…

18 :デフォルトの名無しさん :01/09/09 22:48
>>17の言うことが健全、というか正常だと思う。

19 :デフォルトの名無しさん :01/09/09 22:53
どんどん板が復活しております。わーい。わーい。

20 :デフォルトの名無しさん :01/09/09 22:59
bbs.cgiを修正するのなら
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&st=887&to=887&nofirst=true
も......

21 :名無し娘。 ◆vP.bOZFQ :01/09/09 23:49
>>1
前スレの案一覧
(誤)http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&st=30
(正)http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&ls=30
。。。。。。(涙

22 :デフォルトの名無しさん :01/09/10 00:18
>>12
最新版を手元で動かすと再現しないなあ。

23 :デフォルトの名無しさん :01/09/10 00:19
>>22
どうなります?

24 :22 :01/09/10 00:21
>>23
>そんな板orスレッドないです。
となる。
read.cgi?bbs=net
(keyを書かない)で出したときと同じ。

25 :デフォルトの名無しさん :01/09/10 00:30
>>17
いや、本来は書けるべきなんだよ。副作用とはいえ解除されてんだから。

26 :デフォルトの名無しさん :01/09/10 00:33
>>25
解除されるべきでないんだから書けるべきでないと思う。

27 :名無し娘。 ◆vP.bOZFQ :01/09/10 00:37
「スレスト解除がかかる」とはどういう状態なのかを整理した方がよろしいかと。
私も自信がないので言いっぱなしごめん。

28 : ◆D69Zsbfg @夜勤 ★ :01/09/10 01:05
どんなもんでしょか?
区切りのいいところですか?

29 :デフォルトの名無しさん :01/09/10 01:09
いいんじゃないすか?

30 : ◆D69Zsbfg @夜勤 ★ :01/09/10 01:11
http://www.gedoh.org/aki/2ch/current/bbs/
ここから、落とせばいいんですよね?
zlib はかわってないですか?

31 :デフォルトの名無しさん :01/09/10 01:13
>>30
zlibは変わってませんよ〜

32 : ◆D69Zsbfg @夜勤 ★ :01/09/10 01:14
了解ですー
今日は piza2 で行きます。

33 :デフォルトの名無しさん :01/09/10 01:16
>>32
変わったのは
read2ch.h, read.c, r2chhtml.h, datindex.c, Makefile かな。

34 : ◆D69Zsbfg @夜勤 ★ :01/09/10 01:21
ふむー
なぜか、piza2 で zlib のコンパイルが通らない、、、

Makefile:42: *** missing separator. Stop.

なんて言われちゃいました。
kaba では ok だったのに、、、

35 :デフォルトの名無しさん :01/09/10 01:24
>>34
そこでエラーってのは変ですね。
化けてるとか? (^^;
最新のread.tgzから展開してやるとどうでしょうか?

ってもしかしてmakeがgnu makeじゃないとか…OSからして違う? (^^;

36 : ◆D69Zsbfg @夜勤 ★ :01/09/10 01:25
いやん、すまぬ、私のミス makefile まちがった。
read.cgi 用のを入れてた。

37 :デフォルトの名無しさん :01/09/10 01:26
>>36
なるほど(笑)

38 : ◆D69Zsbfg @夜勤 ★ :01/09/10 01:26
いぇーい

http://piza2.2ch.net/test/read5x.cgi?bbs=mona&key=1000048768&ls=50

39 :デフォルトの名無しさん :01/09/10 01:28
>>38
またCGINAMEをread5x.cgiにしといてくださーい。

40 : ◆D69Zsbfg @夜勤 ★ :01/09/10 01:29
>>39
しましたー

41 :デフォルトの名無しさん :01/09/10 01:29
>>26
>>10のような状況が考えられるので、解除されるのが必ずしも
間違いとは言えない。
それで運用された実績もあるし。

42 :デフォルトの名無しさん :01/09/10 01:31
cvsでtag打っときました( YAKIN20010910 )

43 :デフォルトの名無しさん :01/09/10 01:31
なかなか良い感じですね。

http://piza2.2ch.net/test/read5x.cgi?bbs=mona&key=999190395

44 :デフォルトの名無しさん :01/09/10 01:32
>>41
だから新スレを立てればいいじゃん。

45 :デフォルトの名無しさん :01/09/10 01:33
http://piza2.2ch.net/test/read5x.cgi/tech/1000035521/44-
ふむふむ

46 :前スレ857 :01/09/10 01:34
「誤爆だけで・・・」っていうスレ、>> のリンク動作を確認するのに便利だ。

http://piza2.2ch.net/test/read5x.cgi?bbs=ff&key=998319724&st=301&to=350
ここの333だけリンクが有効になってます。今の時間帯だと全部オフが正しい?

47 :デフォルトの名無しさん :01/09/10 01:37
>>46
いや、「全部読む」の増加対策で、今見えてる範囲外の
リンクは消さないのが正しい。

48 :デフォルトの名無しさん :01/09/10 01:38
「新レスの表示」サイコー

49 :デフォルトの名無しさん :01/09/10 01:39
1は必ず表示した方がいいと思った。

50 :デフォルトの名無しさん :01/09/10 01:40
自分の行ってるスレのアドレスが出てちょっとうれしかった。
それだけ(藁

51 :前スレ857 :01/09/10 01:45
勘違いだったか・・・すまんです。

52 :前スレ857 :01/09/10 01:57
http://piza2.2ch.net/test/read5x.cgi?bbs=kao&key=986050461&ls=5

1000を超えてたら、
「サイズが496KBを超えています。512KBを超えると表示できなくなるよ。」
これはいらないかもしれない。

53 :デフォルトの名無しさん :01/09/10 02:00
サイズ超え警告が正常に働いてることはとりあえず確認できた

54 :デフォルトの名無しさん :01/09/10 02:04
http://piza2.2ch.net/test/read5x.cgi?bbs=mona&key=999190395&st=101&to=201&nofirst=true
の110のレスで >>18 のURLリンクがおかしいです。
 http://piza2.2ch.net/test/read5x.cgi?bbs=mona&key=999190395&st=1&to=50&nofirst=true#18

55 :デフォルトの名無しさん :01/09/10 02:06
>>54
別におかしくないと思うけど?

56 :デフォルトの名無しさん :01/09/10 02:08
>>55
今までの仕様だと
http://piza2.2ch.net/test/read5x.cgi?bbs=mona&key=999190395&st=18&to=18&nofirst=true
じゃないの?

57 :55 :01/09/10 02:10
ごめん、おかしいね。1が表示されてない。
こういう場合&nofirst=trueが付いてると上の「1-」とリンク先が
共通にならなくてキャッシュの効果が落ちると思うけどどうだろ。

58 :デフォルトの名無しさん :01/09/10 02:12
>>56
それはキャッシュの利用効率を高めるためのCHUNK_ANCHOR
の仕様。でもせっかくCHUNK単位でレスを区切っても&nofirst=true
が付いていては意味がないと思われ

59 :56 :01/09/10 02:16
>>58
index.htmでの表示と違うのは何とも・・・
操作と結果は統一して欲しい気が。
スレ違いだったらごめんなさい。

60 :デフォルトの名無しさん :01/09/10 02:52
>>59
それはテレホタイムにリンクをカットしてる時点ですでに
違ってるわけだし。
bbs.cgiのほうを修正できないとなんとも。

61 :デフォルトの名無しさん :01/09/10 02:56
とりあえず今日わかったことは

・トップの1-51-等の表示のために、CHUNK_ANCHORはONにしたい
・>>xxxのリンク先がCHUNKEDになるのは嫌だ。

仕方がないから、新しいcondition(CHUNK_RESLINK)をつけ、
>>xxxのリンク先をCHUNK単位に直すのはCHUNK_RESLINKの時だけにしよう
CHUNK_RESLINKがdefineされてCHUNK_ANCHORがdefineされてなかったらエラー。
(CHUNK_ANCHORは再定義できるけど、CHUNK_NUMの再定義は数値が必要だから)

・レス数とサイズの警告は、両方出てもよい。
・1000 Overの場合は、サイズ表示はいらない。

#ifdef CAUTION_FILESIZE の直後に if (line <= RES_RED) {
#endif の直前に }

NAME_ANCHORは、あってもいいのかなぁ

62 :デフォルトの名無しさん :01/09/10 03:16
BadAccessがrawmodeのときでもツールを弾いている気
がするんですが、ツールに読ませるためのモードが
ツールを弾くのはまずいのでは…。

63 :デフォルトの名無しさん :01/09/10 03:17
「名前:」をとっとと消せよ

64 : ◆D69Zsbfg @夜勤 ★ :01/09/10 03:19
piza2 に全面的に導入しました。
ver 5.20 にしました。

65 :デフォルトの名無しさん :01/09/10 03:20
>>xxxのリンク先を広げるconditonは、CHUNK_ANCHORより
CREATE_NAME_ANCHORであるべきではないでしょうか。
そうすればconditionを追加する必要もありませんし、
>>xxxのリンク先を広げる必要がなければname anchorも
いりませんからそのほうが合理的だと思います。

66 :65 :01/09/10 03:24
よく考えるとCHUNK_ANCHORが有効でないと
>>xxxのリンク先を広げる意味もないか…。

67 :デフォルトの名無しさん :01/09/10 03:26
CHUNK_ANCHORのとき、上に表示するリンクは範囲外の
ものだけにしたほうがいいと思う。
(たとえば「レスを全部読む」の場合にはぜんぜん必要ない)

68 :デフォルトの名無しさん :01/09/10 03:31
それから現在の表示範囲より下のCHUNKへのアンカーは
上ではなくて下に表示したほうがいいと思うんですが…。

69 :デフォルトの名無しさん :01/09/10 03:31
MAX_FILESIZE_BUSYが正式に採用されるまでの間、
dat_read()の最初
#ifndef MAX_FILESIZE_BUSY
 if (zz_fileSize > MAX_FILESIZE)
  html_error(ERROR_TOO_HUGE);
#else
 if (zz_fileSize > MAX_FILESIZE || (isbusytime && zz_fileSize > MAX_FILESIZE_BUSY))
  html_error(ERROR_TOO_HUGE);
#endif

正式にヘッダに入ったら、
Settingsにも加えたほうがいいでしょう。
(メンバー変数、初期値、#undef + #define、config.txt)

70 : ◆D69Zsbfg @夜勤 ★ :01/09/10 03:41
ちょっと 質問でーす

teri にも ver 5.20 いれたんですけど、>>12 というのだけを
一日中有効にするのは、どうすれば良いのでしょうか?

71 : ◆D69Zsbfg @夜勤 ★ :01/09/10 03:43
つまり >>レス番 の機能を teri サーバだけは一日中
有効にしたいのです。

72 :デフォルトの名無しさん :01/09/10 03:44
>>70
read2ch.hの
#define LINKTAGCUT
をコメントアウトすればいいのではないかと…

73 :72 :01/09/10 03:46
ごめんなさい、
#define LINKTAGCUT (0)
に変更、の間違いでした。

74 : ◆D69Zsbfg @夜勤 ★ :01/09/10 03:47
>>72
さんきゅです。
さっそく teri でやってみます。

75 : ◆D69Zsbfg @夜勤 ★ :01/09/10 03:47
>>73
了解でーす

76 :デフォルトの名無しさん :01/09/10 03:49
>夜勤さん
Ver5.20と見た目、機能はほぼ同じで、

・>>nnのリンク先が広がるのを避けたい場合
read.cの440行目付近の
#if defined(CHUNK_ANCHOR) && defined(CREATE_NAME_ANCHOR)

#if 0
に変えるとよいです。

LINKTAGCUTは、例えば、
/accuse/SETTING_R.TXTに
LINKTAGCUT=0
と書いて置いておく方法もあります。

77 : ◆D69Zsbfg @夜勤 ★ :01/09/10 03:53
どもです。
削除依頼板は、>>xx が効かないと、効率が悪いらしいです。
とりあえず、今日は >>73 をやりました。

78 :デフォルトの名無しさん :01/09/10 04:29
批判要望よりコピペ

697 名前:名無しさんの声 投稿日:01/09/10 04:20 ID:mhbyzSZQ
「新レスの表示」の
nofirst=true
は無いほうがいいな

79 :デフォルトの名無しさん :01/09/10 08:59
ブランチは作らないの?

80 :デフォルトの名無しさん :01/09/10 09:52
read.cgiではすでに行っているんですが index.htmlの方でもトップのJavaScriptのところで
----------------------------------------------------------------------
function ol(e){
 var N=getCookie("NAME"),M=getCookie("MAIL"),i;
 with(document) for(i=0; i<forms.length; i++)
  if(forms[i].FROM&&forms[i].mail)
   with(forms[i]){FROM.value=N;mail.value=M;}
}
onload=ol;
----------------------------------------------------------------------
というのを入れて その代わり投稿フォームのところでのdocument.write()を
やめてはどうでしょうか? 一番上の

NameMail = "<INPUT TYPE=text NAME=FROM SIZE=19 VALUE=" + getCookie("NAME") + "> E-mail:<INPUT TYPE=text NAME=mail SIZE=19 VALUE=" + getCookie("MAIL") + ">";

と 各投稿フォームのところでの

<SCRIPT Language="JavaScript"><!--
document.write(NameMail);// --></SCRIPT><NOSCRIPT></NOSCRIPT>

が削れる分 トータルでは節約になると思いますが

81 :デフォルトの名無しさん :01/09/10 09:59
>>80
スレ違いです

82 :デフォルトの名無しさん :01/09/10 10:05
rawmodeのときは、圧縮に対応していないクライアントは
弾くようにしませんか?
rawmodeで非圧縮のデータを返すメリットってほとんど
ないように思うのですが…。

83 :デフォルトの名無しさん :01/09/10 10:30
全レス表示規制中に「次の100レス」でたどっていくと、
表示範囲が
1-100
100-199
199-298

というふうに変化していきますが、CHUNK_ANCHORとの
噛み合わせが悪いので
1-100
101-200
201-300

と増えていくようにしませんか?
(というかそもそも「次の100レス」の代わりに
「101- 151- 201-…」を下に持ってくればいいと思う)

84 :デフォルトの名無しさん :01/09/10 10:45
read.cgi 5.20でも
http://piza2.2ch.net/test/read.cgi/mona/
で[ここ壊れてます]が連打する現象が解消されていません。
http://piza2.2ch.net/test/read.cgi/mona/?raw=0.0
とするとわかりますが、どうもsubject.txtを無理やり分解して
表示しようとしている模様。

85 :デフォルトの名無しさん :01/09/10 11:07
>>84
#ifdef USE_PATH
 /* スレ一覧を取りに逝くモード */
 if (1 <= path_depth && path_depth < 3) {
   sprintf(fname, "../%.256s/subject.txt", zz_bs);
   zz_fileLastmod = getFileLastmod(fname);
 }
#endif
こんなコードが入ってる割にこれ解析してないようだな。
これが原因か。

86 :デフォルトの名無しさん :01/09/10 11:20
↓こういうのって

<a href="read.cgi?bbs=tech&key=998997848&st=1&to=50">1-</a>
<a href="read.cgi?bbs=tech&key=998997848&st=51&to=100&nofirst=true">51-</a>
<a href="read.cgi?bbs=tech&key=998997848&st=101&to=150&nofirst=true">101-</a>
<a href="read.cgi?bbs=tech&key=998997848&st=151&to=200&nofirst=true">151-</a>
<a href="read.cgi?bbs=tech&key=998997848&st=201&to=250&nofirst=true">201-</a>
<a href="read.cgi?bbs=tech&key=998997848&st=251&to=300&nofirst=true">251-</a>

↓こうすると

<form><select onchange='
 var st=parseInt(this[selectedIndex].text);
 location="read.cgi?bbs=tech&key=998997848&st="+st+"&to="+(st+49)+"&nofirst=true";
'>
<option>1-
<option>51-
<option>101-
<option>151-
<option>201-
<option selected>251-
</select></form>

スリム化できるような気がする 現在表示中の範囲の記事番号のところは
<option>でselectedを入れておくと

87 :デフォルトの名無しさん :01/09/10 11:26
PATH仕様が標準になってくれればなー。
<a href="1-50">1-</a>
<a href="51-100">51-</a>
<a href="101-150">101-</a>
<a href="151-200">151-</a>
<a href="201-250">201-</a>
<a href="251-300">251-</a>
それでもFORMにしたほうが若干小さくなるかな。
ただFORMだと>>67-68 >>83のような工夫がしづらくなる。

88 :デフォルトの名無しさん :01/09/10 11:38
>>82の修正
BadAccessの最初に
if (rawmode && !gzip_flag)
 return 1;
を追加。

89 :デフォルトの名無しさん :01/09/10 11:41
>>88
if (rawmode)
return !gzip_flag;
のほうがよくないかな?

90 :88 :01/09/10 11:45
あ、
#ifdef GZIP
#endif
で囲む必要があるか。

91 :88 :01/09/10 11:47
>>89
>>62の修正も合わせてるわけね。納得。

92 :デフォルトの名無しさん :01/09/10 12:08
>>85
・・・USE_PATHをundefすれば根本解決しそうな、、、

93 :デフォルトの名無しさん :01/09/10 12:18
>>85>>89 あてた(85は#if 0にしただけ, 89はRAWOUTでも囲んだ)

94 :デフォルトの名無しさん :01/09/10 12:24
>>92
USE_PATHしたときだけこんな処理が入るほうが変だと思うけど…
そもそもこのコードいつ誰がどういう目的で追加したの?

95 :デフォルトの名無しさん :01/09/10 12:28
>>94
そのコードの下のほうでインデックス処理とかがあるようだけど
そっちは#if 0 /* #ifdef USE_PATH */で無効化されてたのに、
そのためにsubject.txtを読むように準備する部分が生き残ってたようだ。

96 :デフォルトの名無しさん :01/09/10 12:32
こっちだけ殺して>>85は殺してなかったわけね
#if 0/* #ifdef USE_PATH */
else if (path_depth == 2) {
if (zz_ky[0] == '-')
dat_out_subback();/* スレ一覧 */
else
dat_out_index();/* 板ダイジェスト */
}
#endif

97 :デフォルトの名無しさん :01/09/10 12:39
板ダイジェストにcondition付けませんか?
#if 0で無効にしてるのって気持ち悪い

98 :デフォルトの名無しさん :01/09/10 12:41
>>97
いらんだろ、
もともと余計な機能だったんじゃないか?

99 :デフォルトの名無しさん :01/09/10 12:52
config.txt
×DIGEST
板ダイジェストを有効にする。
USE_PATHをONにしたときにのみ使用可能。
/test/read.cgi/tech/ 板ダイジェスト(index2.html相当)
/test/read.cgi/tech/- 全スレ一覧(subback.html相当)

read.cへの変更点
#if 0 /* #ifdef USE_PATH */

#if defined(USE_PATH) && defined(DIGEST)

100 :デフォルトの名無しさん :01/09/10 12:54
>>98
そうだね。じゃあ
#if 0 /* #ifdef USE_PATH */
となってるconditionはバッサリ削除
digest.c digest.hも削除。Makefileからも取り除く
ということで。

326KB
新着レスの表示

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

0ch BBS 2004-10-30