}
r.vis.VisitMetaDataFile(p.MetaFile, mfr)
- // Read counter data files.
- for k, cdf := range p.CounterDataFiles {
+ processCounterDataFile := func(cdf string, k int) error {
cf, err := os.Open(cdf)
if err != nil {
return r.fatal("opening counter data file %s: %s", cdf, err)
}
- defer func(f *os.File) {
- f.Close()
- }(cf)
+ defer cf.Close()
var mr *MReader
mr, err = NewMreader(cf)
if err != nil {
r.vis.VisitFuncCounterData(data)
}
r.vis.EndCounterDataFile(cdf, cdr, p.Origins[k])
+ return nil
+ }
+
+ // Read counter data files.
+ for k, cdf := range p.CounterDataFiles {
+ if err := processCounterDataFile(cdf, k); err != nil {
+ return err
+ }
}
r.vis.EndCounters()