package bwrap import "strconv" const ( UID = iota GID Perms Size ) var intArgs = [...]string{ UID: "--uid", GID: "--gid", Perms: "--perms", Size: "--size", } func (c *Config) intArgs() Builder { // Arg types: // Perms // are handled by the sequential builder return &intArg{ UID: c.UID, GID: c.GID, } } type intArg [len(intArgs)]*int func (n *intArg) Len() (l int) { for _, v := range n { if v != nil { l += 2 } } return } func (n *intArg) Append(args *[]string) { for i, v := range n { if v != nil { *args = append(*args, intArgs[i], strconv.Itoa(*v)) } } }