[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 メーリングリストの案内