flag 'nopadding'
This commit is contained in:
parent
d2cf77fb99
commit
55bf95a397
|
@ -420,20 +420,24 @@ func getValues(descr fileDescription, binpath string) map[string]string {
|
||||||
return vals
|
return vals
|
||||||
}
|
}
|
||||||
|
|
||||||
func fmtPadding(descr fileDescription) string {
|
func fmtPadding(descr fileDescription, nopadding bool) (string, string, string) {
|
||||||
|
if nopadding {
|
||||||
|
return "", "", ""
|
||||||
|
}
|
||||||
pad := 0
|
pad := 0
|
||||||
for _, part := range descr.parts {
|
for _, part := range descr.parts {
|
||||||
if n := len(part.name); n > pad {
|
if n := len(part.name); n > pad {
|
||||||
pad = n
|
pad = n
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return strconv.Itoa(pad)
|
return strconv.Itoa(pad), " ", " "
|
||||||
}
|
}
|
||||||
|
|
||||||
func printValues(descr fileDescription, vals map[string]string) {
|
func printValues(descr fileDescription, vals map[string]string, nopadding bool) {
|
||||||
|
firstCol, space1, space2 := fmtPadding(descr, nopadding)
|
||||||
for _, part := range descr.parts {
|
for _, part := range descr.parts {
|
||||||
if part.name != "" {
|
if part.name != "" {
|
||||||
fmt.Printf("%"+fmtPadding(descr)+"s = %s\n", part.name, vals[part.name])
|
fmt.Printf("%"+firstCol+"s%s=%s%s\n", part.name, space1, space2, vals[part.name])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -446,9 +450,11 @@ func printUsage() {
|
||||||
func main() {
|
func main() {
|
||||||
var setAssignments string
|
var setAssignments string
|
||||||
var formatAssignments string
|
var formatAssignments string
|
||||||
flag.StringVar(&setAssignments, "set", "", "key=value pairs (e.g. \"key1=value1,key2=value2\")")
|
var nopadding bool
|
||||||
flag.StringVar(&formatAssignments, "fvar", "", "key=value pairs (e.g. \"key1=value1,key2=value2\")")
|
flag.StringVar(&setAssignments, "set", "", "set values in binary file to key=value pairs (e.g. \"key1=value1,key2=value2\")")
|
||||||
|
flag.StringVar(&formatAssignments, "fvar", "", "assign values to variables in format description with key=value pairs (e.g. \"key1=value1,key2=value2\")")
|
||||||
flag.BoolVar(&debug, "debug", false, "print recognized parts of the format file")
|
flag.BoolVar(&debug, "debug", false, "print recognized parts of the format file")
|
||||||
|
flag.BoolVar(&nopadding, "nopadding", false, "turn of column padding (useful for bash scripting")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
args := flag.Args()
|
args := flag.Args()
|
||||||
if len(args) != 2 {
|
if len(args) != 2 {
|
||||||
|
@ -459,5 +465,5 @@ func main() {
|
||||||
if setAssignments != "" {
|
if setAssignments != "" {
|
||||||
setValues(descr, args[1], readSetAssignments(descr, setAssignments))
|
setValues(descr, args[1], readSetAssignments(descr, setAssignments))
|
||||||
}
|
}
|
||||||
printValues(descr, getValues(descr, args[1]))
|
printValues(descr, getValues(descr, args[1]), nopadding)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user