diff options
| author | jacob1 <jfu614@gmail.com> | 2013-07-15 18:59:15 (GMT) |
|---|---|---|
| committer | jacob1 <jfu614@gmail.com> | 2013-07-15 18:59:15 (GMT) |
| commit | f4432b47599a2b93276658f887b97ccd2eb35875 (patch) | |
| tree | 5d52718632550de888b921ca6523fc96b29bd270 /src/client | |
| parent | c2a9b5c6f67a545764392edb6f06f2675d512bee (diff) | |
| download | powder-f4432b47599a2b93276658f887b97ccd2eb35875.zip powder-f4432b47599a2b93276658f887b97ccd2eb35875.tar.gz | |
give an error when a local save isn't saved properly, instead of exiting and pretending it worked
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/Client.cpp | 20 | ||||
| -rw-r--r-- | src/client/Client.h | 4 |
2 files changed, 16 insertions, 8 deletions
diff --git a/src/client/Client.cpp b/src/client/Client.cpp index 2a091aa..25fd430 100644 --- a/src/client/Client.cpp +++ b/src/client/Client.cpp @@ -515,8 +515,9 @@ int Client::MakeDirectory(const char * dirName) #endif } -void Client::WriteFile(std::vector<unsigned char> fileData, std::string filename) +bool Client::WriteFile(std::vector<unsigned char> fileData, std::string filename) { + bool saveError = false; try { std::ofstream fileStream; @@ -526,12 +527,15 @@ void Client::WriteFile(std::vector<unsigned char> fileData, std::string filename fileStream.write((char*)&fileData[0], fileData.size()); fileStream.close(); } + else + saveError = true; } catch (std::exception & e) { std::cerr << "WriteFile:" << e.what() << std::endl; - throw; - } + saveError = true; + } + return saveError; } bool Client::FileExists(std::string filename) @@ -554,8 +558,9 @@ bool Client::FileExists(std::string filename) return exists; } -void Client::WriteFile(std::vector<char> fileData, std::string filename) +bool Client::WriteFile(std::vector<char> fileData, std::string filename) { + bool saveError = false; try { std::ofstream fileStream; @@ -565,12 +570,15 @@ void Client::WriteFile(std::vector<char> fileData, std::string filename) fileStream.write(&fileData[0], fileData.size()); fileStream.close(); } + else + saveError = true; } catch (std::exception & e) { std::cerr << "WriteFile:" << e.what() << std::endl; - throw; - } + saveError = true; + } + return saveError; } std::vector<unsigned char> Client::ReadFile(std::string filename) diff --git a/src/client/Client.h b/src/client/Client.h index 085c60a..6429b18 100644 --- a/src/client/Client.h +++ b/src/client/Client.h @@ -111,8 +111,8 @@ public: void SetProxy(std::string proxy); int MakeDirectory(const char * dirname); - void WriteFile(std::vector<unsigned char> fileData, std::string filename); - void WriteFile(std::vector<char> fileData, std::string filename); + bool WriteFile(std::vector<unsigned char> fileData, std::string filename); + bool WriteFile(std::vector<char> fileData, std::string filename); bool FileExists(std::string filename); void AddListener(ClientListener * listener); |
