"flag"
"fmt"
"io"
- "io/ioutil"
"net/http"
_ "net/http/pprof"
"os"
return 0
} else if err != nil {
return 2
+ } else if flags.NArg() > 0 {
+ err = fmt.Errorf("errant command line arguments after parsed flags: %v", flags.Args())
+ return 2
}
if *pprof != "" {
filename := *inputDir + "/" + fi.Name()
thr.Go(func() error {
log.Printf("reading %s", filename)
- buf, err := ioutil.ReadFile(filename)
+ f, err := open(filename)
+ if err != nil {
+ return err
+ }
+ defer f.Close()
+ buf, err := io.ReadAll(f)
if err != nil {
return fmt.Errorf("%s: %s", filename, err)
}
+ f.Close()
lines := bytes.Split(buf, []byte{'\n'})
calls := map[string][]*call{}
for lineIdx, line := range lines {