func()

in vhdcore/header/factory.go [31:104]


func (f *Factory) Create() (*Header, error) {
	header := &Header{}
	var err error
	errDone := func() (*Header, error) {
		return nil, err
	}

	header.Cookie, err = f.readHeaderCookie()
	if err != nil {
		return errDone()
	}

	header.DataOffset, err = f.readDataOffset()
	if err != nil {
		return errDone()
	}

	header.TableOffset, err = f.readBATOffset()
	if err != nil {
		return errDone()
	}

	header.HeaderVersion, err = f.readHeaderVersion()
	if err != nil {
		return errDone()
	}

	header.MaxTableEntries, err = f.readMaxBATEntries()
	if err != nil {
		return errDone()
	}

	header.BlockSize, err = f.readBlockSize()
	if err != nil {
		return errDone()
	}

	header.CheckSum, err = f.readCheckSum()
	if err != nil {
		return errDone()
	}

	header.ParentUniqueID, err = f.readParentUniqueID()
	if err != nil {
		return errDone()
	}

	header.ParentTimeStamp, err = f.readParentTimeStamp()
	if err != nil {
		return errDone()
	}

	header.Reserved, err = f.readReserved()
	if err != nil {
		return errDone()
	}

	header.ParentPath, err = f.readParentPath()
	if err != nil {
		return errDone()
	}

	header.ParentLocators, err = f.readParentLocators()
	if err != nil {
		return errDone()
	}

	header.RawData, err = f.readWholeHeader()
	if err != nil {
		return errDone()
	}

	return header, nil
}