1//go:build !windows && !plan9
 2// +build !windows,!plan9
 3
 4package copy
 5
 6import (
 7	"os"
 8	"syscall"
 9)
10
11func preserveOwner(src, dest string, info fileInfo) (err error) {
12	if info == nil {
13		if info, err = os.Stat(src); err != nil {
14			return err
15		}
16	}
17	if stat, ok := info.Sys().(*syscall.Stat_t); ok {
18		if err := os.Chown(dest, int(stat.Uid), int(stat.Gid)); err != nil {
19			return err
20		}
21	}
22	return nil
23}