search only new data for new lines rather than entire buffer

This commit is contained in:
Carl Henderson
2016-02-22 15:13:38 -05:00
parent 606dc0299c
commit 2d4474eb8b

View File

@@ -111,11 +111,12 @@ class BufferedProcess
stream.on 'data', (data) =>
return if @killed
bufferedLength = buffered.length
buffered += data
lastNewlineIndex = buffered.lastIndexOf('\n')
lastNewlineIndex = data.lastIndexOf('\n')
if lastNewlineIndex isnt -1
onLines(buffered.substring(0, lastNewlineIndex + 1))
buffered = buffered.substring(lastNewlineIndex + 1)
onLines(buffered.substring(0, lastNewlineIndex + bufferedLength + 1))
buffered = buffered.substring(lastNewlineIndex + bufferedLength + 1)
stream.on 'close', =>
return if @killed