| Abhay Kumar | 40252eb | 2025-10-13 13:25:53 +0000 | [diff] [blame^] | 1 | package lumberjack |
| 2 | |||||
| 3 | import ( | ||||
| 4 | "os" | ||||
| 5 | "syscall" | ||||
| 6 | ) | ||||
| 7 | |||||
| 8 | // osChown is a var so we can mock it out during tests. | ||||
| 9 | var osChown = os.Chown | ||||
| 10 | |||||
| 11 | func chown(name string, info os.FileInfo) error { | ||||
| 12 | f, err := os.OpenFile(name, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, info.Mode()) | ||||
| 13 | if err != nil { | ||||
| 14 | return err | ||||
| 15 | } | ||||
| 16 | f.Close() | ||||
| 17 | stat := info.Sys().(*syscall.Stat_t) | ||||
| 18 | return osChown(name, int(stat.Uid), int(stat.Gid)) | ||||
| 19 | } | ||||