[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00512] Re: FDclone でファイルサイズが 0 と表示される
- Subject: [FDclone-users:00512] Re: FDclone でファイルサイズが 0 と表示される
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Wed, 26 Apr 2006 01:20:25 +0900
しらいです。
In Message-Id <OF5ED4D0F7.7BAEFF09-ON4925715B.00016F5B@tky.lightwell.co.jp>
SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>さんwrites:
> 潮田です。
> > んー、おかしいですねー。ちょっと patch を作り直してみたの
> > で、今度のはどうでしょう?
> 残念ながら、今回も変化がみえません。
別のところの AIX 5.2 では大丈夫だったそうなんですが、何が
違うんでしょうか?
> どれか、途中の値を出力させましょうか。
> (どこで、何をと指定していただければ可能です)
では [FDclone-users:00509] 相当の printf debug をしてみて
下さい。
mask の値は ((unsigned long)(~(unsigned long)0)) なので、
これが一体どんな値になっているのやら。ここでつまずくようだ
と他にもあちこちでおかしなことになりそうですね。
> ところで、先のメールに書きました、最下行でのファイルサイズの
> 表示が、 2.04? の時と今とで異なる件は、仕様どおりでしょうか。
2.04c までは off_t 専用の表示関数を持っていましたが、2.05
から汎用の printf 関数にまとめてしまっています。
この時、AIX 環境では off_t を無理矢理 long で受けてしまっ
ているので、結果的には巨大ファイルのサイズが正しく表示出来な
くなっています。
これは、AIX が long long を扱えることを compile 時に判断出
来ないためなので、AIX 用には HAVELONGLONG を define してやる
ことで回避可能です。
このことには [FDclone-users:00504] でも触れていますが、今
回の一連の検証はこの回避策以外の対応を模索しているんです。
AIX 以外にも long long を扱えないと思い込んでしまっている
環境があるかも知れませんし、AIX 4.0 以前は long long 対応状
況が不明なので HAVELONGLONG では対応出来ません。
なので、HAVELONGLONG を指定しない場合にでも、最低限それら
しい表示になるべく努力している訳なんですが、それを「仕様」と
言われると辛いところですね。
本来の仕様としては、飽くまでも ls と同じ値が表示されなくて
はなりません。
しらい たかし