aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/TextInputStream.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-08-07 19:07:03 +0200
committerMax Kellermann <max@duempel.org>2014-08-07 19:38:25 +0200
commit5ac2a699407a3e11344d0c024dbb774ec85eca15 (patch)
tree67972bd99747d72683621250182407023c48eb51 /src/input/TextInputStream.cxx
parent8278a12af9932fb54cb4472991ced591fc69d7ec (diff)
downloadmpd-5ac2a699407a3e11344d0c024dbb774ec85eca15.tar.gz
mpd-5ac2a699407a3e11344d0c024dbb774ec85eca15.tar.xz
mpd-5ac2a699407a3e11344d0c024dbb774ec85eca15.zip
input/TextInputStream: move ReadBufferedLine() to util/TextFile.hxx
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;