[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnulib support for st_birthtime (second revision of patch)
From: |
Eric Blake |
Subject: |
Re: gnulib support for st_birthtime (second revision of patch) |
Date: |
Tue, 27 Mar 2007 20:03:20 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Paul Eggert <eggert <at> CS.UCLA.EDU> writes:
>
> Eric Blake <ebb9 <at> byu.net> writes:
>
> > I would recommend getting rid of any test for st_spare1 or st_spare4
> > in m4/stat-time.m4.
>
> Thanks for mentioning this; I've always thought that using those
> "spare" fields was asking for trouble. I installed the following;
> can you please check it?
Looks fine here.
>
> > you should add a check for st_birthtim.tv_nsec,
>
> That's also done in the patch below. (Wasn't it already done?
> Anyway, it should be done now.)
Nope, still not done. I'm checking in this:
2007-03-27 Eric Blake <address@hidden>
Support sub-second birthtime on cygwin.
* m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
* lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
(get_stat_birthtime): Also work with st_birthtim.
Index: lib/stat-time.h
===================================================================
RCS file: /sources/gnulib/gnulib/lib/stat-time.h,v
retrieving revision 1.6
diff -u -r1.6 stat-time.h
--- lib/stat-time.h 27 Mar 2007 18:51:18 -0000 1.6
+++ lib/stat-time.h 27 Mar 2007 20:01:28 -0000
@@ -27,8 +27,9 @@
/* STAT_TIMESPEC (ST, ST_XTIM) is the ST_XTIM member for *ST of type
struct timespec, if available. If not, then STAT_TIMESPEC_NS (ST,
ST_XTIM) is the nanosecond component of the ST_XTIM member for *ST,
- if available. ST_XTIM can be st_atim, st_ctim, or st_mtim for
- access, status change, or data modification time, respectively.
+ if available. ST_XTIM can be st_atim, st_ctim, st_mtim, or st_birthtim
+ for access, status change, data modification, or birth (creation)
+ time respectively.
These macros are private to stat-time.h. */
#if defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
@@ -146,7 +147,8 @@
{
struct timespec t;
-#ifdef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
+#if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \
+ || defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
t = STAT_TIMESPEC (st, st_birthtim);
#elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
t.tv_sec = st->st_birthtime;
Index: m4/stat-time.m4
===================================================================
RCS file: /sources/gnulib/gnulib/m4/stat-time.m4,v
retrieving revision 1.6
diff -u -r1.6 stat-time.m4
--- m4/stat-time.m4 27 Mar 2007 18:51:18 -0000 1.6
+++ m4/stat-time.m4 27 Mar 2007 20:01:28 -0000
@@ -9,12 +9,13 @@
dnl From Paul Eggert.
-# st_atim.tv_nsec - Linux, Solaris
+# st_atim.tv_nsec - Linux, Solaris, Cygwin
# st_atimespec.tv_nsec - FreeBSD, NetBSD, if ! defined _POSIX_SOURCE
# st_atimensec - FreeBSD, NetBSD, if defined _POSIX_SOURCE
# st_atim.st__tim.tv_nsec - UnixWare (at least 2.1.2 through 7.1)
# st_birthtimespec - FreeBSD, NetBSD (hidden on OpenBSD 3.9, anyway)
+# st_birthtim - Cygwin 1.7.0+
AC_DEFUN([gl_STAT_TIME],
[
@@ -59,7 +60,8 @@
#include <sys/stat.h>])
])
-# Check for st_birthtime, a feature from UFS2 (FreeBSD, NetBSD, OpenBSD, etc.).
+# Check for st_birthtime, a feature from UFS2 (FreeBSD, NetBSD, OpenBSD, etc.)
+# and NTFS (Cygwin).
# There was a time when this field was named st_createtime (21 June
# 2002 to 16 July 2002) But that window is very small and applied only
# to development code, so systems still using that configuration are
@@ -72,7 +74,10 @@
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_CHECK_HEADERS_ONCE([sys/time.h])
AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec], [],
- [AC_CHECK_MEMBERS([struct stat.st_birthtimensec], [], [],
+ [AC_CHECK_MEMBERS([struct stat.st_birthtimensec], [],
+ [AC_CHECK_MEMBERS([struct stat.st_birthtim.tv_nsec], [], [],
+ [#include <sys/types.h>
+ #include <sys/stat.h>])],
[#include <sys/types.h>
#include <sys/stat.h>])],
[#include <sys/types.h>
- gnulib support for st_birthtime (second revision of patch), James Youngman, 2007/03/27
- Re: gnulib support for st_birthtime (second revision of patch), Bruno Haible, 2007/03/27
- Re: gnulib support for st_birthtime (second revision of patch), James Youngman, 2007/03/27
- Re: gnulib support for st_birthtime (second revision of patch), Bruno Haible, 2007/03/27
- Re: gnulib support for st_birthtime (second revision of patch), Eric Blake, 2007/03/27
- Re: gnulib support for st_birthtime (second revision of patch), Paul Eggert, 2007/03/27
- Re: gnulib support for st_birthtime (second revision of patch),
Eric Blake <=
- Re: gnulib support for st_birthtime (second revision of patch), James Youngman, 2007/03/28
- Re: gnulib support for st_birthtime (second revision of patch), Paul Eggert, 2007/03/29
- Re: gnulib support for st_birthtime (second revision of patch), Bruno Haible, 2007/03/29
- Re: gnulib support for st_birthtime (second revision of patch), James Youngman, 2007/03/29
- Re: gnulib support for st_birthtime (second revision of patch), Bruno Haible, 2007/03/31
- Re: gnulib support for st_birthtime (second revision of patch), Bruno Haible, 2007/03/29
Re: gnulib support for st_birthtime (second revision of patch), Jim Meyering, 2007/03/27