■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
read.cgi改良スレッド 2
- 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()が何回も呼ばれているのが気になってくる。
- 518 :506 :01/09/20 09:21
- >>515
LATEST_ANCHORのcondition削除
ついでに、SEPARATE_CHUN_ANCHORがONの場合を調整
- 519 :デフォルトの名無しさん :01/09/20 16:15
- config.txtで、ALL_ANCHORも「採用決定のためcondition削除」
へ移動したほうがいいのではないかと。
- 520 :デフォルトの名無しさん :01/09/20 16:32
- PATH仕様でないときの「最新50」では1が表示されますが、
http://news.2ch.net/test/read.cgi?bbs=news&key=1000969048&ls=50
PATH仕様で「最新50」にすると1が表示されなくなります。
http://news.2ch.net/test/read.cgi/news/1000969048/l50
「l」を指定したときはnofirst=falseをデフォルトにしたほうが
動作が統一されていいのでは。
- 521 :デフォルトの名無しさん :01/09/20 17:29
- 全鯖read.cgi 5.22になったようなので、bbs.cgiのパス仕様対応を
要望しに行きたいのですが、
http://piza2.2ch.net/test/read.cgi/tech/998921988/219-222n
計算間違いなどのツッコミ希望。
- 522 :デフォルトの名無しさん :01/09/20 18:52
- #ifdef GZIP
if (!gzip_flag)
strcpy(p,"index.html");
else
#endif
strcpy(p,"index.htm");
これおかしくないですか? GZIPがオフならindex.htmlに
戻らなくてはならないはずですけど。
それと戻り先を /板名/ にすれば10バイト減らせます。
以上を考え合わせて
#ifdef GZIP
if (gzip_flag)
strcpy(p,"index.htm");
#endif
- 523 :521 :01/09/20 20:03
- read.cgi 5.22はi-mode用がパス仕様に未対応でしたっけ。
http://piza2.2ch.net/test/read.cgi/tech/998921988/i
もうすこし待ったほうがいいか。
- 524 :デフォルトの名無しさん :01/09/20 20:44
- 非パス仕様のURLで呼ばれたときはBASEを出力して、
常にパス仕様でリンクを生成
[r2chhtml.h]
#ifdef ALWAYS_PATH
#define R2CH_HTML_HEADER_0 \
"<html>" \
"<head>" \
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">"
#define R2CH_HTML_BASE_DEFINE "<base href=\"http://%s/test/" CGINAME "/%s/%s/\">"
#endif
変更(<title>以前を削除):
#define R2CH_SIMPLE_HTML_HEADER_1(title, cookie_script) \
R2CH_HTML_CSS_TYPE \
"<title>" title " </title>" \
cookie_script \
R2CH_HTML_CSS_DEFINE \
"</head>" \
"<body bgcolor=#efefef text=black link=blue alink=red vlink=#660099>"
変更(<title>以前を削除):
#define R2CH_HTML_IMODE_HEADER_1(title, board, alllink) \
"<title>" title " </title>" \
"</head>" \
"<body bgcolor=#efefef text=black link=blue alink=red vlink=#660099>" \
"<a href=\"" board "\">■掲示板に戻る■</a>" \
" <a href=" alllink ">レスを最初から読む</a>"
[read.c]
#ifdef ALWAYS_PATH
char const *zz_server_name;
#endif
zz_GetEnv()に追加:
#ifdef ALWAYS_PATH
zz_server_name = getenv("SERVER_NAME");
#endif
html_head()内「if (!is_imode()) {」の直前に追加:
pPrintf(pStdout, R2CH_HTML_HEADER_0);
#ifdef ALWAYS_PATH
if (path_depth < 3 && zz_server_name) {
pPrintf(pStdout, R2CH_HTML_BASE_DEFINE, zz_server_name, zz_bs, zz_ky);
path_depth = 3;
}
#endif
- 525 :デフォルトの名無しさん :01/09/20 21:19
- >>520
最新版では合わせてあるはずだけど?
5.22のことを言ってるのかな。
>>522
過去の動作に合わせた。判定しないときはindex.htm推奨の名残。
いまさらindex.htmにする意味はないから、index.htmlでかまわないけど。
index.htmlを付けるかどうかは、バイト数削ることより
bbs.cgiも含めて統一することの方が大切。
2chの板じゃ回転速すぎて意味がない気もするが。
- 526 :デフォルトの名無しさん :01/09/20 21:23
- >>525
bbstableは /板名/ にリンクしてるからそのほうがいいかと
思った。リロードは常にindex.htmだし。
過去動作との互換は了解。
>判定しないときはindex.htm推奨の名残。
どこで推奨してたの?
- 527 :デフォルトの名無しさん :01/09/20 21:42
- 1から表示したときは「前100」が省略されるのに
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&to=50
最後まで表示されてても「次100」は省略されない。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&ls=50
これもcurrentでは修正済みだったりする?
- 528 :デフォルトの名無しさん :01/09/20 21:46
- PREV_NEXT_ANCHOR有効時はi-mode版もリンクを
「1-」「最新10」「次10」のように簡略化すること希望。
- 529 :デフォルトの名無しさん :01/09/20 21:46
- >>526
書き方が悪かったかな。
判定が入っていない時期に、2chで.htmの使用を推奨していたため。
現実には一度も実使用されてない部分だからindex.htmlでいいんだが。
- 530 :デフォルトの名無しさん :01/09/20 21:53
- >>527
1より前はありえないから「前100」は省略した。
最後は読んでるうちに増えるかもしれないので「次100」は残しておいた。
取った方がいいですか?
- 531 :527 :01/09/20 21:55
- >最後は読んでるうちに増えるかもしれないので「次100」は残しておいた。
なるほど。
- 532 :デフォルトの名無しさん :01/09/20 21:57
- でも1000超え時にはさすがにいらないかも。
http://news.2ch.net/test/read.cgi?bbs=news&key=1000822776
- 533 :デフォルトの名無しさん :01/09/20 21:58
- CHUNK_ANCHORの「1001-」もいらない気がする。
Over 1000 Threadを読むためだけに「1001-」を
ほしがる人はいないでしょう。
- 534 :デフォルトの名無しさん :01/09/20 22:00
- どこかcurrentの動作テストを常にできるところってある?
- 535 :批判要望から :01/09/20 22:10
- 196 名前:哀モですが 投稿日:01/09/20 22:04 ID:cr4UsmUk
哀モードからなんですけど、表示が10レスきざみですよね。
で、今の状態だと最初と最新の 10レスしか見れないじゃないですか。
>>も使えない板もあるし。
【前の10レスを見る】のようなんは導入されないのですか?
- 536 :デフォルトの名無しさん :01/09/20 22:32
- >>532-533
スレストに失敗することもあったりするからなあ。
「1001-」は、気持ちよくないのは確かだね。
>>534
テスト公開してくれた所が一時期はあったようなんだけど、今は?
>>535
i-modeでどうなると嬉しいかを実感できないので不具合修正にとどめています。
具体的に要望を出す人もいなかったし。
次ぎの10レスでnofirst=trueの方がいいんじゃないか
とか思ってもいじってません。
>>528みたいに具体的な要望をあげておくのがよろしいかと。
- 537 :デフォルトの名無しさん :01/09/20 22:56
- COOKIEの残骸を取った。
create_bbs_path()を作って、FORMの出力まわりも整理した。
なんかもっとましな方法がありそうだが、他との統一ということで。
>>524
相対パス対応が欲しいな。(/test/もはずしたい)
SCRIPT_NAMEあたりか?
HTTP_HOSTとSERVER_NAMEの扱いは?
- 538 :デフォルトの名無しさん :01/09/20 22:58
- >>537
HTTP_HOSTは「Host:」ヘッダがないと定義されないから
クライアントに依存しないSERVER_NAMEにした。
実際には「Host:」がないと「ブラウザ変ですよん」を喰らっ
たり鯖によっては見ることさえできないから気にし過ぎ
かもしれないけど。
- 539 :デフォルトの名無しさん :01/09/20 23:06
- 相対パス対応(>>524と違うところのみ)
#define R2CH_HTML_BASE_DEFINE "<base href=\"http://%s%s/%s/%s/\">"
#ifdef ALWAYS_PATH
char const *zz_server_name;
char const *zz_script_name;
#endif
if (path_depth < 3 && zz_server_name && zz_script_name) {
pPrintf(pStdout, R2CH_HTML_BASE_DEFINE, zz_server_name, zz_script_name, zz_bs, zz_ky);
path_depth = 3;
}
- 540 :デフォルトの名無しさん :01/09/20 23:07
- 書き忘れ。
#ifdef ALWAYS_PATH
zz_server_name = getenv("SERVER_NAME");
zz_script_name = getenv("SCRIPT_NAME");
#endif
- 541 :夜勤 ★ :01/09/21 00:52
- おっと 現在は index.htm だの色々ありますが、完成形は
全部 .html だけの運用になりまする。(.htm は廃止の予定です)
よろしくお願いいたします。
- 542 :デフォルトの名無しさん :01/09/21 03:22
- >>524
>>539-540
まとめてあてた。
- 543 :デフォルトの名無しさん :01/09/21 04:44
- >>540,542
HTTP_HOSTが使える時はそちらを使うようにした。
掲示板に戻るは、できるだけ/板名/を使うようにした。
path形式で/iのバグ修正
ALL_ANCHORの記述移動
- 544 :デフォルトの名無しさん :01/09/21 05:02
- >>528
#ifdef PREV_NEXT_ANCHOR
#define R2CH_HTML_IMODE_TAIL(path, next) \
" <a href=" path ">次" next "</a>"
#define R2CH_HTML_IMODE_TAIL2(path, ls) \
" <a href=" path ">最新" ls "</a><br>\n"
#else
#define R2CH_HTML_IMODE_TAIL(path, next) \
" <a href=" path ">次の" next "レス</a>"
#define R2CH_HTML_IMODE_TAIL2(path, ls) \
" <a href=" path ">最新レス" ls "</a><br>\n"
#endif
#ifdef PREV_NEXT_ANCHOR
#define R2CH_HTML_IMODE_HEADER_1(title, board, alllink) \
"<title>" title " </title>" \
"</head>" \
"<body bgcolor=#efefef text=black link=blue alink=red vlink=#660099>" \
"<a href=\"" board "\">■掲示板に戻る■</a>" \
" <a href=" alllink ">1-</a>"
#define R2CH_HTML_IMODE_HEADER_2(latestlink, ls) \
" <a href=" latestlink ">最新" ls "</a>"
#else
#define R2CH_HTML_IMODE_HEADER_1(title, board, alllink) \
"<title>" title " </title>" \
"</head>" \
"<body bgcolor=#efefef text=black link=blue alink=red vlink=#660099>" \
"<a href=\"" board "\">■掲示板に戻る■</a>" \
" <a href=" alllink ">レスを最初から読む</a>"
#define R2CH_HTML_IMODE_HEADER_2(latestlink, ls) \
" <a href=" latestlink ">最新レス" ls "</a>"
#endif
- 545 :デフォルトの名無しさん :01/09/21 05:13
- i-mode版で不要な</dl>が出力されるバグの修正。
if (!is_imode())
を、dat_out()内の
pPrintf(pStdout, R2CH_HTML_PREFOOTER);
の前に付ける。
今はi-mode版ではcan_simplehtml()がfalseを返すから
関係ないけどout_simplehtml()も修正しておいたほうが
安全かも。
- 546 :デフォルトの名無しさん :01/09/21 05:44
- >>544-545
当てた
325KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30