-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to ctrn3e8 on 12/29/2009 10:38 PM: > I couldn't find where UTIME_NOW etc. is defined, so I just pulled the > values off the internet.
They are defined in <sys/stat.h>. I keep forgetting that while many systems implicitly include <sys/stat.h> as part of <fcntl.h> (which POSIX allows but not requires), newer Linux is striving to be more namespace-clean. > Output on ext4: Compliant. > Output on ntfs-3G 5 out of 9 combinations passed. The failures: > 1262151223 1262151223 1262151223 > 0 0 > 1000000000 1000000000 1262151224 > 0 1 > 1000000001 1262151225 1262151225 > 0 2 > 1000000001 1262151225 1262151225 valid/UTIME_OMIT fails > 1 0 > 1262151227 1000000003 1262151227 > 1 1 > 1262151228 1262151228 1262151228 > 1 2 > 1262151228 1262151228 1262151228 UTIME_NOW/UTIME_OMIT fails > 2 0 > 1262151228 1262151228 1262151228 UTIME_OMIT/valid fails > 2 1 > 1262151228 1262151228 1262151228 UTIME_OMIT/UTIME_NOW fails > 2 2 > 1262151228 1262151228 1262151228 So in general, the problem can be characterized precisely by the presence of UTIME_OMIT, and can be worked around with a mere stat() (no gettime() is needed, since UTIME_NOW still works). Do you have a full name that you'd like to be credited by in THANKS, or do you desire to remain hidden behind your pseudonym? Thanks again for helping us track down and work around this bug. - -- Don't work too hard, make some time for fun as well! Eric Blake e...@byu.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAks7TKUACgkQ84KuGfSFAYBp+gCglcsgta+AvWnsFftyMo7IrEAm l1YAoLsMPF3+iEa/dzm957Q+dlFbzSQW =CHO4 -----END PGP SIGNATURE-----