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

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



 しらいです。

In Message-Id <OF224F2F66.0EE71ECD-ON4925716E.00241841@tky.lightwell.co.jp>
        SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>さんwrites:
> 潮田です。

> その上、今回のメールは内容が無くて、白旗宣言だったりします。

 そんなことおっしゃらずにもう少しおつき合い下さい。


> だから言って、 FD で tar ファイルの中を見た時の挙動が
> 正しくなったわけでもなく、ファイルサイズが 0 で
> 日付が 06-01-01  0:00 なのは変わっていません。

 逆にこの点さえクリアされれば途中経過なんてどうでもいいんで
すけどね。どうにもうまく行きませんねー。


> #endif  /* !HAVELONGLONG */
> fprintf(stderr, "last [%d] [%lld] [%d]\n", len, (long long)mask, i);fflush(stderr);
>                 if (len == (int)sizeof(u_long_t))
>                         *(va_arg(args, u_long_t *)) = u;
> #ifdef  HAVELONGLONG

 いや、その位置はまずいでしょう。引用部分の直前に「else」が
ある筈で、「else」と「if」の途中に printf() を挿入してしまう
と流れが変わってしまいます。


> 上の場所に、 fprintf() を入れましたが、
> last [4] [2147483647] [?]
> と、tar ファイルのサイズに関係なく len, mask の値は、
> 一定でした。

 本来は引用部の直前の if 節が実行されるべきなので、その場合
else 節の printf() は実行されない筈です。ところが実際は表示
されている訳で、「len > sizeof(u_long_t)」が偽になってるんで
しょうね。
 表示された値を見ると len = 4 になっているようですね。この
値は sizeof(off_t) の筈なので、off_t が 32bits 幅しかないこ
とが問題の一端にはなっているかも知れません。
 CFLAGS をいじったという話ですが、「-D_LARGE_FILES」まで消
してしまっていませんか?空の directory に FD-2.08b を展開し
てから [FDclone-users:00510] を当てて再挑戦してみて下さい。

                                               しらい たかし