func()

in internal/guestcollector/linux_guestcollector.go [409:426]


func (c *LinuxCollector) findLshwFieldInt(lshwResult string, field string) (int, error) {
	// expression := fmt.Sprintf(`"%s" : (\d+?)[\D]`, field)
	// reg := regexp.MustCompile(expression)
	reg, ok := c.lshwRegexMapping[field]
	if !ok {
		return 0, fmt.Errorf("regexp did not find %s field", field)
	}
	match := reg.FindStringSubmatch(lshwResult)
	if len(match) <= 1 {
		return 0, fmt.Errorf("regexp did not find %s field", field)
	}
	result, err := strconv.Atoi(match[1])
	if err != nil {
		return 0, fmt.Errorf("unable to convert %s from string to int: error %v", field, err)
	}

	return result, nil
}