mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-10-10 04:44:21 -04:00
Point the go-micro.dev/v4 replace at the latest main-v4 maintenance branch commit in butonic/go-micro (cd412c15) instead of the v4.11.3 tag. The new base is upstream v4.11.1 plus the registry cache node-TTL fixes (upstream #2715, #2736, #2740), the concurrent map access fix (upstream #2794), plus further dependency updates and test fixes on the maintenance branch. The branch also modernizes go-micro's own go.mod (go 1.26, lego, dario.cat/mergo v1, x/deque v2, ...), and MVS pulls the aligned versions into this module: lego v4.35.2 -> lego/v5 v5.5.2, go-jose/go-jose/v4 -> v4.1.5, gofrs/flock -> v0.13.1, mattn/go-isatty -> v0.0.24, go.uber.org/zap -> v1.28.0, x/net -> 0.59.0, miekg/dns -> 1.1.73, moby api/client, ProtonMail/go-crypto -> 1.5.2, klauspost/compress -> 1.20.1, gorilla/handlers -> 1.5.2, gobwas/ws -> 1.4.0, nxadm/tail -> 1.4.11, ... Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
43 lines
828 B
Go
43 lines
828 B
Go
package archive
|
|
|
|
import (
|
|
"syscall"
|
|
"time"
|
|
"unsafe"
|
|
)
|
|
|
|
var (
|
|
minTime = time.Unix(0, 0)
|
|
maxTime time.Time
|
|
)
|
|
|
|
func init() {
|
|
if unsafe.Sizeof(syscall.Timespec{}.Nsec) == 8 {
|
|
// This is a 64 bit timespec
|
|
// os.Chtimes limits time to the following
|
|
maxTime = time.Unix(0, 1<<63-1)
|
|
} else {
|
|
// This is a 32 bit timespec
|
|
maxTime = time.Unix(1<<31-1, 0)
|
|
}
|
|
}
|
|
|
|
// boundTime returns t if it falls within the range supported by os.Chtimes.
|
|
// Times before the Unix epoch (minTime) or after the end of Unix time
|
|
// (maxTime) are replaced with minTime, as os.Chtimes has undefined behavior
|
|
// outside that range.
|
|
func boundTime(t time.Time) time.Time {
|
|
if t.Before(minTime) || t.After(maxTime) {
|
|
return minTime
|
|
}
|
|
|
|
return t
|
|
}
|
|
|
|
func latestTime(t1, t2 time.Time) time.Time {
|
|
if t1.Before(t2) {
|
|
return t2
|
|
}
|
|
return t1
|
|
}
|