in vhdcore/footer/factory.go [29:121]
func (f *Factory) Create() (*Footer, error) {
footer := &Footer{}
var err error
errDone := func() (*Footer, error) {
return nil, err
}
footer.Cookie, err = f.readVhdCookie()
if err != nil {
return errDone()
}
footer.Features, err = f.readFeatures()
if err != nil {
return errDone()
}
footer.FileFormatVersion, err = f.readFileFormatVersion()
if err != nil {
return errDone()
}
footer.HeaderOffset, err = f.readHeaderOffset()
if err != nil {
return errDone()
}
footer.TimeStamp, err = f.readTimeStamp()
if err != nil {
return errDone()
}
footer.CreatorApplication, err = f.readCreatorApplication()
if err != nil {
return errDone()
}
footer.CreatorVersion, err = f.readCreatorVersion()
if err != nil {
return errDone()
}
footer.CreatorHostOsType, err = f.readCreatorHostOsType()
if err != nil {
return errDone()
}
footer.PhysicalSize, err = f.readPhysicalSize()
if err != nil {
return errDone()
}
footer.VirtualSize, err = f.readVirtualSize()
if err != nil {
return errDone()
}
footer.DiskGeometry, err = f.readDiskGeometry()
if err != nil {
return errDone()
}
footer.DiskType, err = f.readDiskType()
if err != nil {
return errDone()
}
footer.CheckSum, err = f.readCheckSum()
if err != nil {
return errDone()
}
footer.UniqueID, err = f.readUniqueID()
if err != nil {
return errDone()
}
footer.SavedState, err = f.readSavedState()
if err != nil {
return errDone()
}
footer.Reserved, err = f.readReserved()
if err != nil {
return errDone()
}
footer.RawData, err = f.readWholeFooter()
if err != nil {
return errDone()
}
return footer, nil
}