Extract helper function for easier testing

This commit is contained in:
Stefan Haller 2024-10-09 15:08:01 +02:00
parent d11e11d179
commit ae610dcbb7

View file

@ -2,6 +2,7 @@ package utils
import (
"bufio"
"io"
"os"
)
@ -12,14 +13,18 @@ func ForEachLineInFile(path string, f func(string, int)) error {
}
defer file.Close()
reader := bufio.NewReader(file)
forEachLineInStream(file, f)
return nil
}
func forEachLineInStream(reader io.Reader, f func(string, int)) {
bufferedReader := bufio.NewReader(reader)
for i := 0; true; i++ {
line, err := reader.ReadString('\n')
line, err := bufferedReader.ReadString('\n')
if err != nil {
break
}
f(line, i)
}
return nil
}