func()

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
}