summaryrefslogtreecommitdiff
path: root/Source/Kernel/VFS/TextFile.class.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Kernel/VFS/TextFile.class.cpp')
-rw-r--r--Source/Kernel/VFS/TextFile.class.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/Kernel/VFS/TextFile.class.cpp b/Source/Kernel/VFS/TextFile.class.cpp
new file mode 100644
index 0000000..a877392
--- /dev/null
+++ b/Source/Kernel/VFS/TextFile.class.cpp
@@ -0,0 +1,21 @@
+#include "TextFile.class.h"
+
+bool TextFile::write(String str, bool addnl) {
+ ByteArray a(str, m_encoding);
+ if (addnl) a += (u8int)'\n';
+ return File::write(a);
+}
+
+String TextFile::readLine(char separator) {
+ ByteArray buffer;
+ while (1) {
+ char c;
+ if (read(1, (u8int*)&c) == 0) {
+ return buffer.toString(m_encoding);
+ }
+ if (c == separator) {
+ return buffer.toString(m_encoding);
+ }
+ buffer += (u8int)c;
+ }
+}