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

read.cgi改良スレッド 2

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からも取り除く
ということで。

101 :デフォルトの名無しさん :01/09/10 12:57
>>99-100
すでにMakefileのOBJSにはdigest.oは入ってなかったみたいだ。
従ってこのままではたとえconditionにしても使えん。

102 :デフォルトの名無しさん :01/09/10 13:01
本当だ。SRCSには残ってるのに。
じゃあやっぱりバッサリ削りましょう。

103 :デフォルトの名無しさん :01/09/10 13:02
>>94
cvs見ると、6411さんが8/30に作ったようだが

104 :デフォルトの名無しさん :01/09/10 13:07
>>85は、#if 0で囲うと、初期化されていないメモリを参照して、どうなるかわからない。
if (1 <= path_depth ...) {
#if 1 /* #ifndef USE_PATH_DIGEST */
 html_error(ERROR_NOT_FOUND);
#endif
 ・・・
}
って感じにしてくれ。
理由は、皆が言うように、後半で参照されている部分が#if 0で(仮に)殺してあるため。

Expire関係の#if の#else節も生きているようだが、
これもいらない。

もうひとつ、細かいことだが
mainの最初の方に
 if (st == 1 && to == 1)
  zz_nf[0] = '\0';
というのがあるが、
CHUNK_ANCHORで1-50へのリンク(>>nn)にnofirst=trueがつくことを考えると、
 if (st == 1) /* レス1から表示する場合はnofirst=falseにする */
  zz_nf[0] = '\0';
の方が良いだろう。

105 :デフォルトの名無しさん :01/09/10 13:07
前スレですでにこういう話が出てた。

850 名前:デフォルトの名無しさん 投稿日:01/09/09 03:27
>♯6411氏
digest.[ch]いらなくなったのなら、MakefileのSRCSから消してちょうだい。
あと、datindex.cの中身全部を#ifdef USE_INDEXで括っておくように。(w

106 :デフォルトの名無しさん :01/09/10 13:10
>>104
> >>85は、#if 0で囲うと、初期化されていないメモリを参照して、どうなるかわからない。
これはどういうこと?
fnameもzz_fileLastModもその前後で設定されているが。

107 :デフォルトの名無しさん :01/09/10 13:12
ダイジェクト削除するならr2chhtml.h後半の
/* スレダイジェスト用HTML */
/* スレインデクス用HTML */
も不要。

108 :デフォルトの名無しさん :01/09/10 13:14
>>106
失礼。その通りだった。
後でエラーになるね。

109 :デフォルトの名無しさん :01/09/10 13:22
>>52修正
#ifdef CAUTION_FILESIZE 直後の行を変更
if (zz_fileSize > MAX_FILESIZE - CAUTION_FILESIZE * 1024) {

else if (zz_fileSize > MAX_FILESIZE - CAUTION_FILESIZE * 1024) {

110 :デフォルトの名無しさん :01/09/10 13:26
>>109
あてといた

111 :デフォルトの名無しさん :01/09/10 13:37
>>104でも言ってるけどEXPIRESは全廃したんだから
これはいらないんじゃない?
char expires_str[1024];

#if 0
/* XXX これはウソ、Expires: は、
現在時間を基準にすべきである */
get_lastmod_str(expires_str, zz_fileLastmod + 5);
#else
{
/* ためしに廃棄期限をちょっと先に設定してみる */
time_t nw;
time(&nw);
get_lastmod_str(expires_str, nw + 10);
}
#endif

112 :デフォルトの名無しさん :01/09/10 13:39
>>109より、
>>61の後半の形式の方がいいと思う。
>>109だと、レスが930まで来た時に突然読めなくなる可能性あり。

113 :デフォルトの名無しさん :01/09/10 13:40
>>111
expires_strの宣言とともに削除した

325KB
新着レスの表示

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

0ch BBS 2004-10-30