summaryrefslogtreecommitdiff
path: root/Source/Library/Common/FileStream.class.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Library/Common/FileStream.class.cpp')
-rw-r--r--Source/Library/Common/FileStream.class.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/Library/Common/FileStream.class.cpp b/Source/Library/Common/FileStream.class.cpp
index 322e9aa..317a023 100644
--- a/Source/Library/Common/FileStream.class.cpp
+++ b/Source/Library/Common/FileStream.class.cpp
@@ -6,11 +6,13 @@
FileIStream::FileIStream(const String &filename, u8int encoding, FSNode start) : m_start(start) {
m_file = new File(filename, FM_READ, start);
+ m_filenames = 0;
m_encoding = encoding;
}
FileIStream::FileIStream(u8int encoding, FSNode start) : m_start(start) {
m_file = 0;
+ m_filenames = 0;
m_encoding = encoding;
}
@@ -30,10 +32,11 @@ void FileIStream::appendFile(const String &filename) {
}
String FileIStream::read() {
- if (m_file == 0) return "";
- while (m_file->eof() or !m_file->valid()) {
- m_file->close();
- delete m_file;
+ while (m_file == 0 or m_file->eof() or !m_file->valid()) {
+ if (m_file != 0) {
+ m_file->close();
+ delete m_file;
+ }
m_file = 0;
if (m_filenames == 0) {
return "";