dm
/
cs
forked from sm/cs
1
0
Fork 0

Moved file reading to seperate func

This commit is contained in:
Derek McQuay 2016-11-15 22:03:19 -08:00
parent b11c4701c3
commit ad3d27157b
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)
}()