[samba-jp:20357] Re: ファイル生成時刻の扱いについて
KAWASUMI Junji
touchan @ papa-net.bpl.jp
2008年 8月 21日 (木) 00:35:09 JST
かわすみです こんばんわ。
On Thu, 21 Aug 2008 00:11:01 +0900
Takashi SHIRAI <shirai @ unixusers.net> wrote:
> > +AC_CHECK_MEMBERS([struct stat.st_birthtime],,,[#include
> > <sys/stat.h>]) +AC_CHECK_MEMBERS([struct stat.st_birthtimensec],,,
> > [#include <sys/stat.h>]) +
> > AC_CACHE_CHECK([for SO_PEERCRED],samba_cv_HAVE_PEERCRED,[
> > AC_TRY_COMPILE([#include <sys/types.h>
> > #include <sys/socket.h>],
> >
> > ==============================================================
> > で、st_birthtimeの有無をチェックし、
>
> st_birthtimensec の方は使わないんだったら調べなくてもいい
> と思います。HAVE_STRUCT_STAT_TM_BIRTHTIMENSEC も見てないよう
> ですし。
これは何に使うかはわかりませんが、保険のつもりで残しときました。
でもきっと使うことは無いのでしょうね。
> > +#if defined(HAVE_STRUCT_STAT_TM_BIRTHTIME)
> > + ret = st->st_birthtime;
> > + if ((ret != (time_t)0) && (ret != ~(time_t)0)) {
> > + return ret;
> > + }
> > +#endif
>
> いつから「(time_t)-1」が「~(time_t)0」になったんでしょう?
> どこかの man page の記述がそうなっていたんでしょうか?
> もしそうでないなら、これらの値が必ずしも同一になる保証はな
> いので、無闇に置換えをすべきではないと思います。2 の補数表現
> でない環境はともかく、cast してると桁の問題も色々あるし。
全面的にごめんなさいです。
最終的にまとめたつもりが、実験中のdiffを間違えて提示してしまい
ました。
「(time_t)-1」が正しいです。
いつからというのは、私の実験環境でいろいろ試しながら、その都度
diff をとっていたときです。
ちなみに私の現在使用中のSAMBAは、"(time_t)-1 "版が動作しており
ます。 最低ですね。(本当にすみません)
以上です
--
-- 川澄 淳治
-- KAWASUMI Junji <touchan@papa-net.bpl.jp>
-- 愛知県知多郡在住 (JR武豊線使用)
-- 〜 みんなで幸せになろうよ。。。〜
--
samba-jp メーリングリストの案内