code: func parseSubidFile(path, username string) (ranges, error) {
  	var rangeList ranges
  
  	subidFile, err := os.Open(path)
  	if err != nil {
  		return rangeList, err
  	}
  	defer subidFile.Close()
  
  	s := bufio.NewScanner(subidFile)
  	for s.Scan() {
  		if err := s.Err(); err != nil {
  			return rangeList, err
  		}
  
  		text := strings.TrimSpace(s.Text())
  		if text == "" || strings.HasPrefix(text, "#") {
  			continue
  		}
  		parts := strings.Split(text, ":")
  		if len(parts) != 3 {
  			return rangeList, fmt.Errorf("Cannot parse subuid/gid information: Format not correct for %s file", path)
  		}
  		if parts[0] == username || username == "ALL" {
  			startid, err := strconv.Atoi(parts[1])
  			if err != nil {
  				return rangeList, fmt.Errorf("String to int conversion failed during subuid/gid parsing of %s: %v", path, err)
  			}
  			length, err := strconv.Atoi(parts[2])
  			if err != nil {
  				return rangeList, fmt.Errorf("String to int conversion failed during subuid/gid parsing of %s: %v", path, err)
  			}
  			rangeList = append(rangeList, subIDRange{startid, length})
  		}
  	}
  	return rangeList, nil
  }
docs: // parseSubidFile will read the appropriate file (/etc/subuid or /etc/subgid)
  // and return all found ranges for a specified username. If the special value
  // "ALL" is supplied for username, then all ranges in the file will be returned