in cli/image_cmds.go [175:212]
func runAddTlvsCmd(cmd *cobra.Command, args []string) {
if len(args) < 3 {
ImgmodUsage(cmd, nil)
}
inFilename := args[0]
outFilename, err := CalcOutFilename(inFilename)
if err != nil {
ImgmodUsage(cmd, err)
}
img, err := readImage(inFilename)
if err != nil {
ImgmodUsage(cmd, err)
}
tlvArgs := args[1:]
if len(tlvArgs)%2 != 0 {
ImgmodUsage(cmd, errors.Errorf(
"invalid argument count; each TLV requires two arguments"))
}
tlvs := []image.ImageTlv{}
for i := 0; i < len(tlvArgs); i += 2 {
tlv, err := parseTlvArgs(tlvArgs[i], tlvArgs[i+1])
if err != nil {
ImgmodUsage(cmd, err)
}
tlvs = append(tlvs, tlv)
}
img.Tlvs = append(img.Tlvs, tlvs...)
if err := writeImage(img, outFilename); err != nil {
ImgmodUsage(nil, err)
}
}