diff options
Diffstat (limited to 'src/guiEngine.cpp')
-rw-r--r-- | src/guiEngine.cpp | 46 |
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 |