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

[FDclone-users:00513] Re: FDclone でファイルサイズが 0 と表示される



潮田です。

>  別のところの AIX 5.2 では大丈夫だったそうなんですが、何が
> 違うんでしょうか?
こちらの環境がおかしいだけだったらどうしましょう。
でも、こちらの WS は 5.1, 5.2 の2台とも変化がみえないので、
環境のせいとは思いにくいんですけれど。
(cc も違う ver が入ってますしね)

>  では [FDclone-users:00509] 相当の printf debug をしてみて
> 下さい。
>  mask の値は ((unsigned long)(~(unsigned long)0)) なので、
> これが一体どんな値になっているのやら。ここでつまずくようだ
> と他にもあちこちでおかしなことになりそうですね。
時間切れで、1行ごとのトレースは出来ていませんが、 len の値が
どこかで壊れるようです。
(mask と len しか見てないだけですが。他にキモになる変数は
 どれでしょう)
頭の方にある3箇所の代入では、 4 or 8 しかセットされないのに、

#ifndef HAVELONGLONG
                if (len > (int)sizeof(u_long_t)) mask = MAXUTYPE(u_long_t);
                else
#endif

これの直前では、 9 桁の数値に変わっています。
(546687784 の様な値で、下 3 桁はいつも違うようです)

これ以上は、週末までまっていただけますか。
(どの行の後で値が変わりました、ぐらいの報告しかできませんが)

>  このことには [FDclone-users:00504] でも触れていますが、今
> 回の一連の検証はこの回避策以外の対応を模索しているんです。
>  AIX 以外にも long long を扱えないと思い込んでしまっている
> 環境があるかも知れませんし、AIX 4.0 以前は long long 対応状
> 況が不明なので HAVELONGLONG では対応出来ません。
>  なので、HAVELONGLONG を指定しない場合にでも、最低限それら
> しい表示になるべく努力している訳なんですが、それを「仕様」と
> 言われると辛いところですね。
>  本来の仕様としては、飽くまでも ls と同じ値が表示されなくて
> はなりません。
了解しました。
不注意な言葉で、気分を害させて申し訳ありません。