[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00513] Re: FDclone でファイルサイズが 0 と表示される
- Subject: [FDclone-users:00513] Re: FDclone でファイルサイズが 0 と表示される
- From: SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>
- Date: Wed, 26 Apr 2006 09:52:51 +0900
潮田です。
> 別のところの 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 と同じ値が表示されなくて
> はなりません。
了解しました。
不注意な言葉で、気分を害させて申し訳ありません。