doc/news.texi | 7 +++++++ inode.go | 3 ++- usage.go | 2 +- diff --git a/doc/news.texi b/doc/news.texi index 809f2773e16669b3b1cfa8066efe662a42ba508ed050ac63bb435499798409b8..9edbc995441ebb9458223df9eaf2e0f281cc798cd51073e8941ced791f4cc5d1 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -2,6 +2,13 @@ @node News @cindex news @unnumbered News +@anchor{Release 2_6_5} +@section Release 2.6.5 +@itemize +@item + Fix proper @command{mtime}'s nanoseconds storage. +@end itemize + @anchor{Release 2_6_4} @section Release 2.6.4 @itemize diff --git a/inode.go b/inode.go index a618dc30490daea97f6a717066a0a8efda223f59f927b6d3fc8b00227396774a..dcc5a9e0d38dd5b41463c0e3059ea9f062f538bb1aedd4b3c43725e69bcf4ac9 100644 --- a/inode.go +++ b/inode.go @@ -82,8 +82,9 @@ } func inodeFromFileStat(fi os.FileInfo, stat unix.Stat_t) *Inode { ctimeSec, ctimeNsec := stat.Ctim.Unix() - mtimeSec := fi.ModTime().Unix() mtimeNsec := fi.ModTime().UnixNano() + mtimeSec := mtimeNsec / 1000000000 + mtimeNsec -= mtimeSec * 1000000000 inode := new(Inode) binary.BigEndian.PutUint64(inode[0*8:1*8], uint64(fi.Size())) binary.BigEndian.PutUint64(inode[1*8:2*8], uint64(stat.Ino)) diff --git a/usage.go b/usage.go index 375f8249d08988645a4502de37d9230275d20b3cef0603920ec063ce7b5965b4..7c6682b89daac2b426b27a467b818187266b2cc79f756a7e428025124687641d 100644 --- a/usage.go +++ b/usage.go @@ -22,7 +22,7 @@ "os" ) const ( - Version = "2.6.4" + Version = "2.6.5" Warranty = `Copyright (C) 2020-2025 Sergey Matveev This program is free software: you can redistribute it and/or modify