summaryrefslogtreecommitdiffstats
path: root/src/ui/edit.cpp
diff options
context:
space:
mode:
authorKrzysztof Dermont <erihel@gmail.com>2014-06-22 15:01:06 +0200
committerKrzysztof Dermont <erihel@gmail.com>2014-06-22 15:01:06 +0200
commit754154341dba420e5bfc3190c81deb2859d751ba (patch)
tree2fae97b49724edfc2e889f4ca9720af74737db26 /src/ui/edit.cpp
parent1630cf0ed20ea8df879327af1275ff281a9bc7e0 (diff)
downloadcolobot-754154341dba420e5bfc3190c81deb2859d751ba.tar.gz
colobot-754154341dba420e5bfc3190c81deb2859d751ba.tar.bz2
colobot-754154341dba420e5bfc3190c81deb2859d751ba.zip
More work on PhysFS support
* added output stream * fixed music loading
Diffstat (limited to 'src/ui/edit.cpp')
-rw-r--r--src/ui/edit.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/ui/edit.cpp b/src/ui/edit.cpp
index 287d0f3..e645063 100644
--- a/src/ui/edit.cpp
+++ b/src/ui/edit.cpp
@@ -23,6 +23,7 @@
#include "clipboard/clipboard.h"
#include "common/resources/inputstream.h"
+#include "common/resources/outputstream.h"
#include <string.h>
@@ -1453,12 +1454,9 @@ bool CEdit::ReadText(std::string filename, int addSize)
bool bInSoluce, bBOL;
if ( filename[0] == 0 ) return false;
-
- boost::replace_all(filename, "\\", "/");
- std::string path = filename;
CInputStream stream;
- stream.open(fs::path(path).make_preferred().string());
+ stream.open(filename);
if (!stream.is_open())
{
@@ -1886,14 +1884,19 @@ bool CEdit::ReadText(std::string filename, int addSize)
bool CEdit::WriteText(std::string filename)
{
- FILE* file;
char buffer[1000+20];
int i, j, k, n;
float iDim = 0.0f;
if ( filename[0] == 0 ) return false;
- file = fopen(filename.c_str(), "wb");
- if ( file == NULL ) return false;
+
+ COutputStream stream;
+ stream.open(filename);
+
+ if (!stream.is_open())
+ {
+ return false;
+ }
if ( m_bAutoIndent )
{
@@ -1924,7 +1927,7 @@ bool CEdit::WriteText(std::string filename)
if ( j >= 1000-1 )
{
- fwrite(buffer, 1, j, file);
+ stream.write(buffer, j);
j = 0;
}
@@ -1932,10 +1935,10 @@ bool CEdit::WriteText(std::string filename)
}
if ( j > 0 )
{
- fwrite(buffer, 1, j, file);
+ stream.write(buffer, j);
}
- fclose(file);
+ stream.close();
if ( m_bAutoIndent )
{