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

[FDclone-users:00578] Re: やって見ましたが??



こんばんは、田村です。
毎度お手数おかけします。

やって見たのですが、結果が良いのかどうか判断できません。
これで良いのか、ご指摘願います。

以前の作業の結果が残っていると困るので、以前のディレクトリは削除し
新しくアーカイブを展開し直してから、作業しました。

On Thu, 14 Sep 2006 22:50:23 +0900, Takashi SHIRAI wrote:

>  もしこれで直るようならば、実際にどの部分の MAXPATHLEN の値
> が原因になっているかを確認して下さい。
>  各 *.c の中で func.h を #include している箇所を探して、上
> の記述をその #include の下に記述していきます。func.h は元に
> 戻しておいて下さい。
>  *.c を一個ずつ試していって、症状が直ったところで原因となっ
> た *.c が特定出来ると思います。

>一番怪しそうなのは dosemu.c でしょうかね。

こういう事でしょうか?
-----dosemu.c-----
#include "func.h"
	#undef  MAXPATHLEN
	#define MAXPATHLEN      65536
------------------

再コンパイルして
[yuji:~/work/FD-2.09] yuji% ./fd
Segmentation fault
[yuji:~/work/FD-2.09] yuji% 
と落ちてしまいます。

dosemu.c を元に戻すと、
普通に fd は起動するが、ファイル名が消える症状は出る

On Sun, 17 Sep 2006 23:03:48 +0900, Takashi SHIRAI wrote:

> dosemu.c の Xreaddir() 辺りが怪しそうですね。

と言う事は

-----dosemu.c-----
struct dirent *Xreaddir(dirp)
DIR *dirp;
{
#if	defined (_NODOSDRIVE) && defined (_NOKANJIFCONV) \
&& defined (_NOROCKRIDGE)
	return(pseudoreaddir(dirp));
#else	/* !_NODOSDRIVE || !_NOKANJIFCONV || !_NOROCKRIDGE */
# if	!defined (_NOKANJIFCONV) || !defined (_NOROCKRIDGE)
	char path[MAXPATHLEN * 2], conv[MAXPATHLEN * 2];
	int i;              ^^^^                  ^^^^
------------------     ここ                   ここ
と言う事でしょうか?再コンパイルした結果は、
fd は正常に起動するが、症状は変わらずです。

>  dosemu.c の Xreaddir() 辺りが怪しそうですね。まぁ下手に先
> 入観を持ってしまって見過ごしが出てもまずいので、一通りのファ
> イルを一個ずつ地道に試してみて下さい。
>  変更を加えた func.h を含んでいて尚且つ MAXPATHLEN を含むの
> は以下の 18 ファイルなので、まずはこれらから試してみるといい
> と思います。
> 	apply.c archive.c browse.c builtin.c command.c
> 	custom.c dict.c dosemu.c file.c kanji.c
> 	libc.c log.c main.c parse.c rockridg.c
> 	shell.c termemu.c tree.c

との事でしたので、全部試して見ました。
-----apply.c-----
#include "func.h"
	#undef	MAXPATHLEN
	#define	MAXPATHLEN	65536
-----------------
これで良いのでしょうか?
fd は正常に起動するが、症状は変わらず。

archive.c
browse.c
builtin.c
command.c
custom.c
dict.c

fd は正常に起動するが、症状は変わらず。

-----dosemu.c-----
もう一度試しましたが、上記と同じく Segmentation fault
で落ちてしまいます。
[yuji:~/work/FD-2.09] yuji% ./fd
Segmentation fault
------------------

file.c
kanji.c
libc.c
log.c
main.c
parse.c
rockridg.c
shell.c
termemu.c
tree.c

fd は正常に起動するが、症状は変わらず。
-----
	#undef  MAXPATHLEN
	#define MAXPATHLEN      65536
-----
の挿入の仕方はこれで良いのでしょうか?
dosemu.c が臭いと言う事なのでしょうか?

---
yuji tamura