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

read.cgi改良スレッド

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

2ちゃんねるで行われている他のプログラム開発や、動作報告・障害報告等に
ついては、それぞれ専用のスレッドが >>2 から参照できますので、
移動してください。お願いします。

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

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

●2ちゃんねる軽量化関連スレッド群
 >>2

●みなさまへのお願い(急募)
 >>3

●前スレで提示されている案・意見の一覧
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=868&to=868&nofirst=true

942 :937 :01/09/10 01:52
恥の上塗りだ……

>940の発言は忘れてください……

943 :デフォルトの名無しさん :01/09/10 06:38
とにかく、この2日間は、大車輪の活躍をしてくれた、
775さん、
名無し娘。 ◆vP.bOZFQさん
884さん、
886さん、
等に感謝したい。

本筋に関係ないので前スレで。

944 :デフォルトの名無しさん :01/09/10 22:23
[r2chhtml.h]
//***********************************************
・追加
#define R2CH_HTML_TAIL_SIMPLE \
 " (%02d:00PM - %02d:00AM の間一気に全部は読めません)<br>\n"
/* テストなので使っていないけど */
#define CHUNKED_ANCHOR_SELECT_HEAD(bbs,key) \
 "<form><select onchange='" \
 "var st=parseInt(this[selectedIndex].text);" \
 "location=\""CGINAME"?bbs="bbs"&key="key"&st=\"+st+\"&to=\"+(st+49)+\"&"NO_FIRST"\";"\
 "'>"
#define CHUNKED_ANCHOR_SELECT_STARTNUM(num) \
 "<option>"num"-"
#define CHUNKED_ANCHOR_SELECT_TAIL \
 "</select></form>"


[read2ch.h]
//***********************************************
・ALL_ANCHORとLATEST_ANCHORをなくしたいので
LATEST_NUMの扱いをRES_NORMAL等と同様にしてほしい。

//***********************************************
・追加
/* select form形式で CHUNKED_ANCHORを表示する */
/*#define CHUNKED_ANCHOR_WITH_FORM
「掲示板に戻る」「レスを全部」「最新レス」との統一が取れていない
*/

945 :デフォルトの名無しさん :01/09/10 22:24
[read.c]
//***********************************************
・前半にある#ifdef LATEST_ANCHOR - #endif を
全て条件を外し、中身を生きに。(全部 #ifdef USE_SETTING_FILE の中)

//***********************************************
・out_html()の後半、/* imode */ の手前、
  if (isbusytime && out_resN > RES_NORMAL) {
   ・・・
   return 1;
  }
の部分を、
  if (isbusytime && out_resN > RES_NORMAL) {
#ifdef CHUNK_ANCHOR
   pPrintf(pStdout, R2CH_HTML_TAIL_SIMPLE, LIMIT_PM - 12, LIMIT_AM);
#else
   ・・・
#endif
   return 1;
  }
に。

946 :デフォルトの名無しさん :01/09/10 22:25
//***********************************************
・html_head()
#ifdef CHUNK_ANCHOR
 int i;
#endif
警告が出るので削除。

//***********************************************
・同、html_head()の真中辺りから、 } else { の手前(その下がimode)まで、
#ifdef ALL_ANCHOR
 ・・・
#endif
#ifdef CHUNK_ANCHOR
 ・・・
#endif
#ifdef LATEST_ANCHOR
 ・・・
#endif
を、
 /* ALL_ANCHOR は常に生きにする
  ただし、CHUNK_ANCHORが生きで、かつisbusytimeには表示しない */
#ifdef CHUNK_ANCHOR
  if (!isbusytime)
#endif
  {
#ifdef USE_PATH
   if (path_depth)
    pPrintf(pStdout,
     R2CH_HTML_PATH_ALL_ANCHOR);
   else
#endif
    pPrintf(pStdout,
     R2CH_HTML_ALL_ANCHOR,
     zz_bs, zz_ky);
  }
  html_thread_anchor(1, first_line()-1);
に。

947 :デフォルトの名無しさん :01/09/10 22:26
//***********************************************
・html_foot()
最初から、
 if (line <= RES_RED && !stopped) {
の手前までを、
static void html_foot(int level, int line, int stopped)
{
#if 0
 /* 初期化した数値を再び使うのはダイジェスト関係だけのはず */
 out_resN = 0; /* ここで初期化するといいらしい? */
#endif

 if (is_imode()) {
  html_foot_im(line,stopped);
  return;
 }
 if (last_line() < lineMax) {
  /* RELOADLINKの表示条件の逆なんだけど */
  html_thread_anchor(last_line() + 1, lineMax - LATEST_NUM);
#ifndef CHUNK_ANCHOR
   /* 最新レスnnがかぶるので苦肉の策
    LATEST_ANCHORを生きにして、なおかつ末尾に持ってきているので
    out_html内の R2CH_HTML_TAILを修正するほうが
    処理の流れとしては望ましいが、
    「混雑時にCHUNK_ANCHORを非表示にする」等の場合には
    再修正が必要なので保留 */
  if (!(isbusytime && out_resN > RES_NORMAL))
#endif
  {
   /* LATEST_ANCHORも常に生きにする */
#ifdef USE_PATH
  if (path_depth)
   pPrintf(pStdout,
    R2CH_HTML_PATH_LATEST_ANCHOR,
    LATEST_NUM, LATEST_NUM);
  else
#endif
   pPrintf(pStdout,
    R2CH_HTML_LATEST_ANCHOR,
    zz_bs, zz_ky,
    LATEST_NUM, LATEST_NUM);
  }
 }
に。

948 :デフォルトの名無しさん :01/09/10 22:27
//***********************************************
html_head()の手前あたりに、以下・・・最後までを追加

#ifdef CHUNK_ANCHOR
/* first-lastまでのCHUNKED anchorを表示
firstとlastはレス番号。firstに0は渡すなー */
static void html_thread_anchor(int first, int last)
{
 int line = ((first - 1)/ CHUNK_NUM) * CHUNK_NUM + 1;
 if (first <= last) {
#ifdef CHUNKED_ANCHOR_WITH_FORM
  pPrintf(pStdout, CHUNKED_ANCHOR_SELECT_HEAD("%s", "%s"),
   zz_bs, zz_ky);
  for ( ; line <= last; line += CHUNK_NUM) {
   pPrintf(pStdout, CHUNKED_ANCHOR_SELECT_STARTNUM("%d"),
   line);
  }
  pPrintf(pStdout, CHUNKED_ANCHOR_SELECT_TAIL);
#else
  for ( ; line <= last; line += CHUNK_NUM) {
#ifdef USE_PATH
   if (path_depth)
    pPrintf(pStdout,
     R2CH_HTML_PATH_CHUNK_ANCHOR,
     line,
     line + CHUNK_NUM - 1,
     line);
   else
#endif
    pPrintf(pStdout, R2CH_HTML_CHUNK_ANCHOR,
     zz_bs, zz_ky,
     line,
     line + CHUNK_NUM - 1,
     (line == 1 ? "" : NO_FIRST),
     line);
  }
#endif
 }
}
#else
#define html_thread_anchor(first, last)  /* (void)0 nothing */
#endif /* CHUNK_ANCHOR */

949 :デフォルトの名無しさん :01/09/10 22:28
/* 最初と最後に表示されるレス番号を返す(レス1を除く)
imode未対応, isprintedと同じ動作を。
*/
static int first_line()
{
 if (nn_st)
  return nn_st;
 if (nn_ls)
  return lineMax - nn_ls + 1;
 return 1;
}
static int last_line()
{
 /* html_footを呼ぶ時に最終表示行を渡すようにすれば要らないんだけど */
 int line = lineMax;
 if (nn_to && nn_to < lineMax)
  line = nn_to;
 if (isbusytime) {
  int busy_last = first_line() + RES_NORMAL - 1 - is_nofirst();
  /* 細かい計算間違ってるかも */
  if (busy_last < line)
   line = busy_last;
 }
 return line;
}

950 :775 :01/09/10 22:36
これは何ですか? (^^;

951 :次スレ166 :01/09/11 17:35
H4sICBbKnTsAA2RpZnMudHh0ANVa/2sbyRX/eQP5H0Y+LkjWKtGuZFuqLr3TOUosIslGUi7X
byw+ax2LcyQjrU3vgn7wGNpLzl/SOl8o9O4Hc5Q2d20oR+4OyhVa4vQM9kEhtJTeDymFloQW
fFBa6E99Mzuzs7uaVaTYaVMFx9rZmXnvfd6b9208PDyMWuZ07fjM8WbrwtEjsViMPR89Muz5
0GekjY6q2ph+9AhCz9Vna+YsmirnXsmVquVcYTJ7iowr9YaFTjdbM6aRiCeNav2imaHzzUat
Pgsk2EqlkK3mKlUjWxqfmCw7KwvTltm2jNLiRc8q/rbeeL06fWF80crYzNoMaShGPgdhS06+
myhCHVQxLaveuNBGJ9GlIJxSwFbSS6B/uWM95e5mAWaVcxXja7lCYfK8ypEZI6oSyDw9BPzk
pYikNFVLjblw6FbR6cnyeM5mLl/MqX1aDRspnSuqPnEK+dLZavbM+Lkqx2QsDUwk/dYyGCvd
JL2EAJ9MEAYJIJ/u0yo8RGKBctnkEGpbrcUZi6iDSpqKA6kRl/YPLJGbhEw6PZ5UdS3eE9ZL
ypCXjyFVOcaN6bjXOFWl068JwLZCAM+Wwpr927FljpzeZY7B01UEUT0eV/X4SB+2cxAhBxSm
fxGCrVKPj4Le9D6tsn/uYk8ENbe15xYbhAHhV7gWNNDCqMuun2G0pVJIVaCPqXoi4VrhFYm+
gOF6w/S9UQIk7e/gMGICADchMapIMPEQIIrRQTG6SzFPQZCDM8yWOzoMUEcCjnpitNc5OBAj
MYlELpZcGzmjisTSBDTKiWHlXCVnVHLVar50xjidL+SU4RNcMwnQTMqlmacI5yHyLtNMWh9R
0wkaYxT4zAOhUjNiJypKx/5Vn0Xhevu1xfYbFtgPOnYMNRcto2W2S+iriJzE0mS5mC1E7MyF
5YuEg6lsdYLtTPZYmLbmjJq5YM1FOL2FqRakQ7PhhYpVg01ZZEhrYyow5vJJh8FalLNWyU1l
y6ALY3ziXOmsY4NRJGEIlfXxCWOiWiwY1Wy+YFTyxalCTkWFfDFfNaaKCDIDnT9mi4Q9oGPO
t81DwEKqsCRgM6LzRYoQUu051oNhOqNlWoutBtI8+HYQkQRdUsCmUP1is2YixE9BOqmr6WTK
q6TDYCfqjiYDMiYPx/ERCHEaM3K2X7s1Y+/InsMLKIo0Gw5K48TwAT8n7F0UYjxoIpc9lStT
0RX+5uD7szSKRPAxjyb6EzKKxKlQAk8FvKdeqWvcbLWaLfk61DDNWht1L7EV6/lmk/dPBb3O
1lttKzY/3bbwF3gb79IpuVNoujEz12zh/evfXP8RmQofOhXfo3P3VlZXXr12f+07yy/bwztx
vLfZwB/jz5a/Qa0kCon3tFWfQUvNeg3NWRfnDWuOVOmGvXWYlGh0rYrIV7JthCyjXoQWcMQb
Qa0WDtNpxIojJ5i44N8jaFg8EMgz9kI4+Pb8F07am7r9ksLkYyAY5/PVCQNietF2TV2eyTe9
kivkxqsGMbTw0PPtIRWR/yMqc2xvvmm81lYR/Hr9DfuUKcpss4XCKGMLw1hiT9GTbmkuBXlH
OQ+VarZchYXAR01wQPbllDsDyUQ8r8ezDs58lyeOSj1xNMATR5knc4IB2cRj8WISYcH7BBYg
rAFMRUWe1xwUhQsnDoeMG1dIkjPgVvUTshW27fsk0tCLaGgIfQWVJiGRKFeqEVXKe8fHN33u
eFTG8xjJeWNnjR4J6tLD5GRG4nCyG01rDlIddm6dDEcexNks5j/Wtjcu43tr26t/xjvEV+AP
8SP8kHsH8B/38cdh8oin8P7GD/FPI8yb0IByY+t7n19+FxxAe4Hgb9bwvc3b+KPNn639De8v
v0ymenyJ4zMMgkvY7S/AyhoNg/kQxznToYx7xnzbO4NsVJz+NuiGvhSOxBUTGcouJgiKXTwA
HBT32WbTwvurd/H99XfxDiCUJ8istfE+9ZB/we/hHfj9CH9+cwn/FX+Gt/CX+Jf4Nv4Nk9bt
/Rh/HhmsJsnC7C8v8BlMLLaMvhSLRP7mOBpCgwwaRBZY4cYVUBAJBTFb+Km3jUaTTgpzgyT6
/z3+Cd5aXVr/+pX7b/0J/wrfxQ9h5AGXhFIXZGxuuRNgvDqvM8Ks3eoRGvh/yRm8AzxF0kgv
RksdnhAitM7BQacRdd5cMudVNDM33UIzzQZAPmzVrXmTBVkbfEQbbtxfe7OCmG19dV9D1+6q
gi4pAVaGBNUWJFMCUVMJkS49AwIPIISXtNMpJEKNpJ38mtGhoSDi70oTMw5xiLOFggNwqDtO
hpAkTIZkyQAb9gdJsX8kg+w5TnnkzvO7t0O+7cROXJealiCdNt1XhPQhPPEPYj+E9zb+jneu
foTfp+7vIZ0CkQB/Cs7vznLWbYf4Fp23vZwFZ/Jr4b1g5R4NM3eI26ROJiTPbjmmIZfr83Mp
r6Xlyh8h9c3oaDdiMgUgiQL61KdHAfZLb1pJ9Ss2lR7iEM/d6uBetQyq0+SNuFL42pW5HUo/
AewkReyk+57Cyxp6jF5CgXo5eF0PCkySMi5xCPuH+slW2aS666ssIeTvnEaB9PAOkKTaCtF1
opBU1zXj4YosMf0++Q9S0hiJkynNcTXBuIQGxCUkTd4H0xI5UwE5u1+PHcEryZW7smhHI75O
LVMfeBwtkfA3fwZHX46SRJ8S39PtfIRgPXsaZJqkCgEk3YlmjDZKAsxgjJhB0pG8B/B+Q+kI
HykFPhQAfMARkZ+QID+op0FvSS1Qbx6UUW+UQ49BOTQAyiFeJgYv4qVExhtjGB+KXVzWwh7U
IqQWCfFXUj4jB0ZWbiFp4ijSkpjsYdBB2Xfs7UHXHTIS370IuJqh8ozR5XHyxclTOcMuKwyN
k3FnS+5fwAittOgq/oIbUhIOgDbicwBPSUiSq3k2ZA7qvyy4VM/aCMksRhOHV0d0tSZJye4u
J3jtYH9rW82FBbMmCgnFuQE5ieIZgh3+Ofzb3rh85d+Xf0GSW3wPqvotqO7v4K0XGZZO+QGl
NG1/hCMR/qcPOkip6ro7zX4WRBWd6eALHZCeyX0Hf3r12vfn8f7aXfzb9Qv4PbyL91aMlfGV
8yunV15duXDld6vnaacDxvEn3MSeCEx3aeoV27Ea4odHk8+evp3QSLiAN7QRqHKiGccgUsQg
vPl0L1Wg/40qorIuwaASyzVIsnVtNN3HenEfYz90RKnPWtfE2ZRzp2iw4gt7FD/ewEQSj0SE
K0YHtvQRz9XpoMw9/kbIZl60GV2NPt7BA/XYf8BDbq3xLqmLN/ZXN/Du2xZUx76Woiziu7eP
IhH/IeP1RgneyAv1dREs7jJog/jqK6T/22jgW1DL3wcT2sXbbz/a/BfeXfsHm4eQN/jgfdYm
uIPvLmdBmB+TNsCNG9f+iXfW36FdxvfhZ8veTGxC+CFybj7Au8svea+V8f7G+NUPqQ3/AY7D
LbFq462b7+Ddmx/gR2DdQBHv3fgW/oJYOL61nBXzlhfXPlg/Q3q6nlbF/rUvaUuCNjWWlzZ/
gHc3Hq19l7QqxNq1u5T6retnby6BPMD19T/evM2V4w+++IG3VcIPmuyCRX6/EnS94isf/DlE
9DHpQhQF3KA8np6clPQepTf9jugSu/8K9LDP+n8A6D+NSmYsAAA=

952 :外出ですか? :01/09/11 22:40
http://ton.2ch.net/test/read.cgi?bbs=sec&key=996966367&st=40&to=40&nofirst=true

953 :外出ですか? :01/09/11 22:42
スレ違い。

954 :スレ埋め改良スレッド :01/10/14 20:43
    スレを埋めに来ました
______ __________
         ∨
   ------------- 、____
  /  ̄ ̄ ̄.// ̄ ̄|| |___/\○ ○
 /     //     .|| |  \\○○○○
[/______. //[ ]    || |    \\○○ ○
.||     |_| ̄ ̄  .|.| |___\\○○○○
.lO|--- |O゜.|______ |.|_|ニニニニニニl.|○○○○
|_∈口∋ ̄_l______l⌒ l.|_____| l⌒l_||  ○○○○
──`--'───`ー'─── `--' `ー' ┐ ○○○○
                         │  ○○○○
                         │   ○○○○
                         │ ミ  ○○ ○○   〃
                         │  ;:○○ ○○; ’〃、、..
                         | ミ ミ\○ ○゙○ ○/ミ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~〜〜〜〜~~~~~~~~~~~~~~~~~~~

955 : :01/10/19 17:22
http://www.oldandmature.de/oldandmature3/pictures/menapril0005.jpg

956 :-- :01/10/19 17:26
http://www.oldandmature.de/oldandmature3/pictures/menjuly0075.jpg

333KB
新着レスの表示

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

0ch BBS 2004-10-30