libmachine/mcnutils/b2d.go
func (b *b2dISO) version() (string, error) {
	if b == nil {
		return "", nil
	}

	iso, err := os.Open(b.commonIsoPath)
	if err != nil {
		return "", err
	}
	defer iso.Close()

	isoMetadata := make([]byte, b.volumeIDLength)
	_, err = iso.ReadAt(isoMetadata, b.volumeIDOffset)
	if err != nil {
		return "", err
	}

	trimmedVersion := strings.TrimSpace(string(isoMetadata))

	versionIndex := strings.Index(trimmedVersion, versionPrefix)
	if versionIndex == -1 {
		return "", fmt.Errorf("Did not find prefix %q in version string", versionPrefix)
	}

	// Original magic file string looks similar to this: "Boot2Docker-v0.1.0              "
	// This will return "v0.1.0" given the above string
	vers := trimmedVersion[versionIndex+1:]

	log.Debug("local Boot2Docker ISO version: ", vers)
	return vers, nil
}
func (b *b2dISO) version() (string, error) {
	if b == nil {
		return "", nil
	}

	iso, err := os.Open(b.commonIsoPath)
	if err != nil {
		return "", err
	}
	defer iso.Close()

	isoMetadata := make([]byte, b.volumeIDLength)
	_, err = iso.ReadAt(isoMetadata, b.volumeIDOffset)
	if err != nil {
		return "", err
	}

	trimmedVersion := strings.TrimSpace(string(isoMetadata))

	versionIndex := strings.Index(trimmedVersion, versionPrefix)
	if versionIndex == -1 {
		return "", fmt.Errorf("Did not find prefix %q in version string", versionPrefix)
	}

	// Original magic file string looks similar to this: "Boot2Docker-v0.1.0              "
	// This will return "v0.1.0" given the above string
	vers := trimmedVersion[versionIndex+1:]

	log.Debug("local Boot2Docker ISO version: ", vers)
	return vers, nil
}
func ( b * b2dISO ) version ( ) ( string , error ) { if b == nil { return " " , nil } iso , err := os . Open ( b . commonIsoPath ) if err != nil { return " " , err } defer iso . Close ( ) isoMetadata := make ( [ ] byte , b . volumeIDLength ) _ , err = iso . ReadAt ( isoMetadata , b . volumeIDOffset ) if err != nil { return " " , err } trimmedVersion := strings . TrimSpace ( string ( isoMetadata ) ) versionIndex := strings . Index ( trimmedVersion , versionPrefix ) if versionIndex == - 1 { return " " , fmt . Errorf ( " " , versionPrefix ) } // Original magic file string looks similar to this: "Boot2Docker-v0.1.0              " // This will return "v0.1.0" given the above string vers := trimmedVersion [ versionIndex + 1 : ] log . Debug ( " " , vers ) return vers , nil }
// version scans the volume ID in b and returns its version tag.
version scans the volume ID in b and returns its version tag .