diff options
author | kientzle <kientzle@FreeBSD.org> | 2009-01-31 05:17:28 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2009-01-31 05:17:28 +0000 |
commit | 1f959f94f16ab8a8d66723315c21d2fb48ac9096 (patch) | |
tree | 216d79a25cd8fa183c5a53ccda9cdf0366237b7e /usr.sbin/mtree/spec.c | |
parent | ec7e619d54d66a50828c8bb429025c529f90e77d (diff) | |
download | FreeBSD-src-1f959f94f16ab8a8d66723315c21d2fb48ac9096.zip FreeBSD-src-1f959f94f16ab8a8d66723315c21d2fb48ac9096.tar.gz |
Write timestamps with exactly 9 digits after the period.
This ensures that the value written is both compatible with
older mtree versions (which expect the value after the period
to be an integer count of nanoseconds after the whole second)
and is a correct floating-point value.
Leave the parsing code unchanged so it will continue to read
older files.
Diffstat (limited to 'usr.sbin/mtree/spec.c')
-rw-r--r-- | usr.sbin/mtree/spec.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.sbin/mtree/spec.c b/usr.sbin/mtree/spec.c index f2e7647..c7c6460 100644 --- a/usr.sbin/mtree/spec.c +++ b/usr.sbin/mtree/spec.c @@ -255,6 +255,8 @@ set(char *t, NODE *ip) case F_TIME: ip->st_mtimespec.tv_sec = strtoul(val, &ep, 10); if (*ep == '.') { + /* Note: we require exactly nine + * digits after the decimal point. */ val = ep + 1; ip->st_mtimespec.tv_nsec = strtoul(val, &ep, 10); |