Compare commits

...

1 Commits

Author SHA1 Message Date
Derek McQuay ad3d27157b Moved file reading to seperate func 2016-11-15 22:03:19 -08:00
1 changed files with 18 additions and 13 deletions

View File

@ -70,24 +70,29 @@ func streams(files []string) chan input {
return r
}
func fileRead(j chan work, stream input) {
if stream.err != nil {
j <- work{err: stream.err}
//break
return
}
s := bufio.NewScanner(stream.f)
for s.Scan() {
cs, err := parseCS(s.Text())
j <- work{cs, err}
}
stream.f.Close()
if s.Err() != nil {
j <- work{err: s.Err()}
}
}
func check(files []string) chan error {
jobs := make(chan work)
go func() {
for stream := range streams(files) {
if stream.err != nil {
jobs <- work{err: stream.err}
break
}
s := bufio.NewScanner(stream.f)
for s.Scan() {
cs, err := parseCS(s.Text())
jobs <- work{cs, err}
}
stream.f.Close()
if s.Err() != nil {
jobs <- work{err: s.Err()}
}
go fileRead(jobs, stream)
}
close(jobs)
}()