Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

changed the value of MAXPATH



  某所で BUFSIZE を 1024 より大きくすると動作しないという問題が指摘さ
れたのですが、手元でも再現しました。

  問題が発生する理由は、以前のリリースで行なった segfault 関連の修正で、
nmz/util.c 内の nmz_pathcat が BUFSIZE を前提に動くようになったのに対
し、nmz_names の各メンバの文字列長定義は libnamazu.h 内で define され
る MAXPATH の値で行なわれていたためです。

  この値は独立して 1024 と定義されていたので、BUFSIZE がたまたま同じ値
のデフォルトの状態では動くものの、BUFSIZE がその値を越えると正しく動作
しなくなる、という状況になっていました。

  最終的に、末尾につけるパッチでこの問題を修正しました。あまり綺麗な解
法ではありませんがとりあえず。
-- 
NOKUBI Takatsugu
E-mail: knok@xxxxxxxxxxxxx
	knok@xxxxxxxxxx / knok@xxxxxxxxxx

RCS file: /storage/cvsroot/namazu/nmz/libnamazu.h,v
retrieving revision 1.46
diff -u -r1.46 libnamazu.h
--- nmz/libnamazu.h     2000/12/18 09:02:06     1.46
+++ nmz/libnamazu.h     2002/02/22 07:31:15
@@ -169,7 +169,7 @@
  * NMZ.* files' names.
  */
 struct nmz_names {
-#define MAXPATH 1024
+#define MAXPATH BUFSIZE
     char i[MAXPATH];
     char ii[MAXPATH];
     char head[MAXPATH]; /* followed by a language code */