From 9d2637467df1d4811449dd14b2bebc142d9092b6 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 21 Jan 2023 01:15:19 -0600 Subject: [PATCH] Restore lib/Autom4te/FileUtils.pm local fixes These were lost by 'make fetch'. --- lib/Autom4te/FileUtils.pm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/Autom4te/FileUtils.pm b/lib/Autom4te/FileUtils.pm index 5d0deff9..8f7e351a 100644 --- a/lib/Autom4te/FileUtils.pm +++ b/lib/Autom4te/FileUtils.pm @@ -39,7 +39,7 @@ use strict; use warnings FATAL => 'all'; use Exporter; -use File::stat; +use Time::HiRes qw(stat); use IO::File; use Autom4te::Channels; @@ -115,10 +115,16 @@ sub mtime ($) return 0 if $file eq '-' || ! -f $file; - my $stat = stat ($file) + my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, + $atime,$mtime,$ctime,$blksize,$blocks) = stat ($file) or fatal "cannot stat $file: $!"; - return $stat->mtime; + # Unfortunately Time::HiRes converts timestamps to floating-point, and the + # rounding error can be several nanoseconds for circa-2021 timestamps. + # Perhaps some day Perl will support accurate file timestamps. For now, do + # the best we can without going outside Perl. + + return $mtime; } -- 2.11.4.GIT