...

Source file src/gopkg.in/natefinch/lumberjack.v2/chown_linux.go

Documentation: gopkg.in/natefinch/lumberjack.v2

     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  }
    20  

View as plain text