aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/TextInputStream.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/input/TextInputStream.cxx')
-rw-r--r--src/input/TextInputStream.cxx22
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;