summaryrefslogtreecommitdiffstats
path: root/vcs/cvsservice/bufferedstringreader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vcs/cvsservice/bufferedstringreader.cpp')
-rw-r--r--vcs/cvsservice/bufferedstringreader.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/vcs/cvsservice/bufferedstringreader.cpp b/vcs/cvsservice/bufferedstringreader.cpp
new file mode 100644
index 00000000..5c2151fc
--- /dev/null
+++ b/vcs/cvsservice/bufferedstringreader.cpp
@@ -0,0 +1,47 @@
+/***************************************************************************
+ * Copyright (C) 2003 by Mario Scalas *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include "bufferedstringreader.h"
+
+///////////////////////////////////////////////////////////////////////////////
+// class CvsOptions
+///////////////////////////////////////////////////////////////////////////////
+
+BufferedStringReader::BufferedStringReader()
+{
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+BufferedStringReader::~BufferedStringReader()
+{
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+QStringList BufferedStringReader::process( const QString &otherChars )
+{
+ // Add to previous buffered chars
+ m_stringBuffer += otherChars;
+ QStringList strings;
+ // Now find all the basic strings in the buffer
+ int pos;
+ while ( (pos = m_stringBuffer.find('\n')) != -1)
+ {
+ QString line = m_stringBuffer.left( pos );
+ if (!line.isEmpty())
+ {
+ strings.append( line );
+ }
+ m_stringBuffer = m_stringBuffer.right( m_stringBuffer.length() - pos - 1 );
+ }
+ return strings;
+}