34 lines
485 B
Go
34 lines
485 B
Go
package packet
|
|
|
|
import "path/filepath"
|
|
|
|
type Config struct {
|
|
BinDir string
|
|
PacketDir string
|
|
SourcesDir string
|
|
RootDir string
|
|
}
|
|
|
|
const defaultBinDir = "/usr/bin"
|
|
|
|
func checkConfig(cfg *Config) *Config {
|
|
if cfg == nil {
|
|
bin := defaultBinDir
|
|
return &Config{
|
|
BinDir: bin,
|
|
}
|
|
}
|
|
|
|
switch {
|
|
case cfg.BinDir == "":
|
|
return &Config{
|
|
BinDir: defaultBinDir,
|
|
}
|
|
case cfg.PacketDir == "":
|
|
|
|
cfg.PacketDir = filepath.Join("/tmp", randStringBytes(12))
|
|
}
|
|
|
|
return cfg
|
|
}
|