summaryrefslogtreecommitdiff
path: root/src/guiEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/guiEngine.cpp')
-rw-r--r--src/guiEngine.cpp46
1 files changed, 20 insertions, 26 deletions
diff --git a/src/guiEngine.cpp b/src/guiEngine.cpp
index b929c4f71..672a0d37f 100644
--- a/src/guiEngine.cpp
+++ b/src/guiEngine.cpp
@@ -186,19 +186,20 @@ GUIEngine::GUIEngine( irr::IrrlichtDevice* dev,
// Initialize scripting
- infostream<<"GUIEngine: Initializing Lua"<<std::endl;
+ infostream << "GUIEngine: Initializing Lua" << std::endl;
m_script = new MainMenuScripting(this);
try {
- if (m_data->errormessage != "")
- {
+ if (m_data->errormessage != "") {
m_script->setMainMenuErrorMessage(m_data->errormessage);
m_data->errormessage = "";
}
- if (!loadMainMenuScript())
- assert("no future without mainmenu" == 0);
+ if (!loadMainMenuScript()) {
+ errorstream << "No future without mainmenu" << std::endl;
+ abort();
+ }
run();
}
@@ -512,32 +513,25 @@ bool GUIEngine::setTexture(texture_layer layer,std::string texturepath) {
/******************************************************************************/
bool GUIEngine::downloadFile(std::string url,std::string target) {
#if USE_CURL
- bool retval = true;
+ std::ofstream targetfile(target.c_str(), std::ios::out | std::ios::binary);
- FILE* targetfile = fopen(target.c_str(),"wb");
+ if (!targetfile.good()) {
+ return false;
+ }
- if (targetfile) {
- HTTPFetchRequest fetchrequest;
- HTTPFetchResult fetchresult;
- fetchrequest.url = url;
- fetchrequest.caller = HTTPFETCH_SYNC;
- httpfetch_sync(fetchrequest,fetchresult);
+ HTTPFetchRequest fetchrequest;
+ HTTPFetchResult fetchresult;
+ fetchrequest.url = url;
+ fetchrequest.caller = HTTPFETCH_SYNC;
+ httpfetch_sync(fetchrequest, fetchresult);
- if (fetchresult.succeeded) {
- if (fwrite(fetchresult.data.c_str(),1,fetchresult.data.size(),targetfile) != fetchresult.data.size()) {
- retval = false;
- }
- }
- else {
- retval = false;
- }
- fclose(targetfile);
- }
- else {
- retval = false;
+ if (fetchresult.succeeded) {
+ targetfile << fetchresult.data;
+ } else {
+ return false;
}
- return retval;
+ return true;
#else
return false;
#endif