diff options
Diffstat (limited to 'src/input/TextInputStream.cxx')
-rw-r--r-- | src/input/TextInputStream.cxx | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/src/input/TextInputStream.cxx b/src/input/TextInputStream.cxx index 1c46c2f2c..c23616782 100644 --- a/src/input/TextInputStream.cxx +++ b/src/input/TextInputStream.cxx @@ -21,31 +21,15 @@ #include "TextInputStream.hxx" #include "InputStream.hxx" #include "util/Error.hxx" +#include "util/TextFile.hxx" #include "Log.hxx" #include <assert.h> -#include <string.h> - -char * -TextInputStream::ReadBufferedLine() -{ - auto r = buffer.Read(); - char *newline = reinterpret_cast<char*>(memchr(r.data, '\n', r.size)); - if (newline == nullptr) - return nullptr; - - buffer.Consume(newline + 1 - r.data); - - if (newline > r.data && newline[-1] == '\r') - --newline; - *newline = 0; - return r.data; -} char * TextInputStream::ReadLine() { - char *line = ReadBufferedLine(); + char *line = ReadBufferedLine(buffer); if (line != nullptr) return line; @@ -76,7 +60,7 @@ TextInputStream::ReadLine() return nullptr; } - line = ReadBufferedLine(); + line = ReadBufferedLine(buffer); if (line != nullptr) return line; |