1
0
mirror of https://github.com/golang/go synced 2024-10-03 15:31:22 -06:00
go/misc/dist/stat_linux.go

33 lines
715 B
Go
Raw Normal View History

// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build linux
package main
import (
"archive/tar"
"os"
"syscall"
"time"
)
func init() {
sysStat = func(fi os.FileInfo, h *tar.Header) error {
sys, ok := fi.Sys().(*syscall.Stat_t)
if !ok {
return nil
}
h.Uid = int(sys.Uid)
h.Gid = int(sys.Gid)
// TODO(bradfitz): populate username & group. os/user
// doesn't cache LookupId lookups, and lacks group
// lookup functions.
h.AccessTime = time.Unix(sys.Atim.Unix())
h.ChangeTime = time.Unix(sys.Ctim.Unix())
// TODO(bradfitz): major/minor device numbers?
return nil
}
}