put the scanner at the bottom

This commit is contained in:
risk danger olson 2016-11-15 15:15:37 -07:00
parent c0da360f53
commit 1da3bbb990

@ -28,6 +28,33 @@ func runCatFileBatch(pointerCh chan *WrappedPointer, sha1Ch <-chan string, errCh
return nil
}
func catFileBatchOutput(pointerCh chan *WrappedPointer, cmd *wrappedCmd, errCh chan error) {
scanner := &catFileBatchScanner{r: cmd.Stdout}
for scanner.Scan() {
pointerCh <- scanner.Pointer()
}
if err := scanner.Err(); err != nil {
errCh <- err
}
stderr, _ := ioutil.ReadAll(cmd.Stderr)
err := cmd.Wait()
if err != nil {
errCh <- fmt.Errorf("Error in git cat-file --batch: %v %v", err, string(stderr))
}
close(pointerCh)
close(errCh)
}
func catFileBatchInput(cmd *wrappedCmd, sha1Ch <-chan string, errCh chan error) {
for r := range sha1Ch {
cmd.Stdin.Write([]byte(r + "\n"))
}
cmd.Stdin.Close()
}
type catFileBatchScanner struct {
r *bufio.Reader
pointer *WrappedPointer
@ -88,30 +115,3 @@ func scanPointer(r *bufio.Reader) (*WrappedPointer, error) {
return pointer, nil
}
func catFileBatchOutput(pointerCh chan *WrappedPointer, cmd *wrappedCmd, errCh chan error) {
scanner := &catFileBatchScanner{r: cmd.Stdout}
for scanner.Scan() {
pointerCh <- scanner.Pointer()
}
if err := scanner.Err(); err != nil {
errCh <- err
}
stderr, _ := ioutil.ReadAll(cmd.Stderr)
err := cmd.Wait()
if err != nil {
errCh <- fmt.Errorf("Error in git cat-file --batch: %v %v", err, string(stderr))
}
close(pointerCh)
close(errCh)
}
func catFileBatchInput(cmd *wrappedCmd, sha1Ch <-chan string, errCh chan error) {
for r := range sha1Ch {
cmd.Stdin.Write([]byte(r + "\n"))
}
cmd.Stdin.Close()
}