]> Cypherpunks repositories - goredo.git/commitdiff
Fix proper mtime's ns storage
authorSergey Matveev <stargrave@stargrave.org>
Sun, 26 Oct 2025 13:31:06 +0000 (16:31 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 26 Oct 2025 13:31:06 +0000 (16:31 +0300)
doc/news.texi
inode.go
usage.go

index 4a08a68ca346aa5c0a9ae313c394e6cda8a70128..aae9c15bd31bb4ffe6f18bfd0bd2822e297f9271 100644 (file)
@@ -2,6 +2,13 @@
 @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
index c345fcceecca942494fa81fc492b353399746f8f..9b1f995df28895114b9e713c2201a77401fb3250 100644 (file)
--- a/inode.go
+++ b/inode.go
@@ -82,8 +82,9 @@ func (inode *Inode) RecfileFields() []recfile.Field {
 
 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))
index 67ae2e708c1738629b29dd3248b15c9410a3101c..50d53c877506a92d6ca34032a61989edf526c993 100644 (file)
--- a/usage.go
+++ b/usage.go
@@ -22,7 +22,7 @@ import (
 )
 
 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