in cli/mfg_cmds.go [58:81]
func readMfgDir(mfgDir string) (mfg.Mfg, manifest.MfgManifest, error) {
man, err := readManifest(mfgDir)
if err != nil {
return mfg.Mfg{}, manifest.MfgManifest{}, err
}
binPath := fmt.Sprintf("%s/%s", mfgDir, man.BinPath)
bin, err := readMfgBin(binPath)
if err != nil {
return mfg.Mfg{}, manifest.MfgManifest{}, errors.Wrapf(err,
"failed to read \"%s\"", binPath)
}
metaOff := -1
if man.Meta != nil {
metaOff = man.Meta.EndOffset
}
m, err := mfg.Parse(bin, metaOff, man.EraseVal)
if err != nil {
return mfg.Mfg{}, manifest.MfgManifest{}, err
}
return m, man, nil
}