Fix various points reported by cppcheck (#5656)
authorLoïc Blot <nerzhul@users.noreply.github.com>
Tue, 25 Apr 2017 08:17:53 +0000 (10:17 +0200)
committerLoïc Blot <loic.blot@unix-experience.fr>
Tue, 25 Apr 2017 08:21:42 +0000 (10:21 +0200)
* Fix various performance issues reported by cppcheck + code style (CI)

* Make CI happy with code style on master
* guiFileSelectMenu: remove useless includes
* some performance fixes pointed by cppcheck
* remove some useless casts
* TextDest: remove unused setFormSpec function

* Fix various iterator post-increment reported by cppcheck

13 files changed:
src/game.cpp
src/guiFormSpecMenu.h
src/map_settings_manager.cpp
src/nodedef.cpp
src/script/cpp_api/s_async.cpp
src/script/cpp_api/s_node.cpp
src/script/lua_api/l_client.cpp
src/script/lua_api/l_craft.cpp
src/script/lua_api/l_env.cpp
src/script/lua_api/l_mainmenu.cpp
src/script/lua_api/l_nodemeta.cpp
src/script/lua_api/l_server.cpp
src/util/thread.h

index fbc0cf35f3869b0242ae4cdda798fa2f4443325c..31a48531ce1cf985662317fd2ade7f905ffd5cc4 100644 (file)
@@ -202,7 +202,8 @@ public:
 
                return meta->getString("formspec");
        }
-       std::string resolveText(std::string str)
+
+       virtual std::string resolveText(const std::string &str)
        {
                NodeMetadata *meta = m_map->getNodeMetadata(m_p);
 
index e30565be8d36ba1770d1679e3a3ed66b8d059eeb..af2d3f45e123898cbe2b5e6aa99ced4c00c8e6cc 100644 (file)
@@ -69,7 +69,7 @@ public:
        virtual ~IFormSource(){}
        virtual std::string getForm() = 0;
        // Fill in variables in field text
-       virtual std::string resolveText(std::string str){ return str; }
+       virtual std::string resolveText(const std::string &str) { return str; }
 };
 
 class GUIFormSpecMenu : public GUIModalMenu
index 53d17125c31be5a0dd7a0bd84a7161e7b61f10c0..52f88778cc2990c8c6ef93e2066fa56d9c4a4d5d 100644 (file)
@@ -25,14 +25,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "map_settings_manager.h"
 
-MapSettingsManager::MapSettingsManager(
-       Settings *user_settings, const std::string &map_meta_path)
+MapSettingsManager::MapSettingsManager(Settings *user_settings,
+               const std::string &map_meta_path):
+       mapgen_params(NULL),
+       m_map_meta_path(map_meta_path),
+       m_map_settings(new Settings()),
+       m_user_settings(user_settings)
 {
-       m_map_meta_path = map_meta_path;
-       m_user_settings = user_settings;
-       m_map_settings  = new Settings;
-       mapgen_params   = NULL;
-
        assert(m_user_settings != NULL);
 }
 
index db28325aa38f5fccdaa5204a302d6f4db96250c0..ce2834c91fcd8701a5f6496d9992027d110610b1 100644 (file)
@@ -1318,22 +1318,21 @@ void CNodeDefManager::removeNode(const std::string &name)
 
        // Erase node content from all groups it belongs to
        for (UNORDERED_MAP<std::string, GroupItems>::iterator iter_groups =
-                       m_group_to_items.begin();
-                       iter_groups != m_group_to_items.end();) {
+                       m_group_to_items.begin(); iter_groups != m_group_to_items.end();) {
                GroupItems &items = iter_groups->second;
                for (GroupItems::iterator iter_groupitems = items.begin();
                                iter_groupitems != items.end();) {
                        if (iter_groupitems->first == id)
                                items.erase(iter_groupitems++);
                        else
-                               iter_groupitems++;
+                               ++iter_groupitems;
                }
 
                // Check if group is empty
                if (items.size() == 0)
                        m_group_to_items.erase(iter_groups++);
                else
-                       iter_groups++;
+                       ++iter_groups;
        }
 }
 
index a1bec83bf356a911a55aa25f7ea10cb9328c48f9..080ae887c3089fd87dfcf5fe79a0aa550fca76e6 100644 (file)
@@ -46,26 +46,26 @@ AsyncEngine::~AsyncEngine()
 
        // Request all threads to stop
        for (std::vector<AsyncWorkerThread *>::iterator it = workerThreads.begin();
-                       it != workerThreads.end(); it++) {
+                       it != workerThreads.end(); ++it) {
                (*it)->stop();
        }
 
 
        // Wake up all threads
        for (std::vector<AsyncWorkerThread *>::iterator it = workerThreads.begin();
-                       it != workerThreads.end(); it++) {
+                       it != workerThreads.end(); ++it) {
                jobQueueCounter.post();
        }
 
        // Wait for threads to finish
        for (std::vector<AsyncWorkerThread *>::iterator it = workerThreads.begin();
-                       it != workerThreads.end(); it++) {
+                       it != workerThreads.end(); ++it) {
                (*it)->wait();
        }
 
        // Force kill all threads
        for (std::vector<AsyncWorkerThread *>::iterator it = workerThreads.begin();
-                       it != workerThreads.end(); it++) {
+                       it != workerThreads.end(); ++it) {
                delete *it;
        }
 
@@ -205,7 +205,7 @@ void AsyncEngine::pushFinishedJobs(lua_State* L) {
 void AsyncEngine::prepareEnvironment(lua_State* L, int top)
 {
        for (UNORDERED_MAP<std::string, lua_CFunction>::iterator it = functionList.begin();
-                       it != functionList.end(); it++) {
+                       it != functionList.end(); ++it) {
                lua_pushstring(L, it->first.c_str());
                lua_pushcfunction(L, it->second);
                lua_settable(L, top);
index 2723f84e19fc83cafad6f6b432de3558b039f945..1ae8f58a511e51f54e4721efd653600975caea82 100644 (file)
@@ -263,7 +263,7 @@ void ScriptApiNode::node_on_receive_fields(v3s16 p,
        lua_pushstring(L, formname.c_str()); // formname
        lua_newtable(L);                     // fields
        StringMap::const_iterator it;
-       for (it = fields.begin(); it != fields.end(); it++) {
+       for (it = fields.begin(); it != fields.end(); ++it) {
                const std::string &name = it->first;
                const std::string &value = it->second;
                lua_pushstring(L, name.c_str());
index be3a749deef4bd28a599c57900ffb9dbb3a57923..09ea5506b70dc75c65db55e89b138a6bb74c9e45 100644 (file)
@@ -83,7 +83,7 @@ int ModApiClient::l_get_player_names(lua_State *L)
        int newTable = lua_gettop(L);
        int index = 1;
        std::list<std::string>::const_iterator iter;
-       for (iter = plist.begin(); iter != plist.end(); iter++) {
+       for (iter = plist.begin(); iter != plist.end(); ++iter) {
                lua_pushstring(L, (*iter).c_str());
                lua_rawseti(L, newTable, index);
                index++;
index 2236566de1caabac46fb0886a2ae6976a9ab6bed..315391856097fb4b4ea5628cf7b3ac1b51fc62db 100644 (file)
@@ -414,7 +414,7 @@ static void push_craft_recipe(lua_State *L, IGameDef *gdef,
 
        lua_newtable(L); // items
        std::vector<ItemStack>::const_iterator iter = input.items.begin();
-       for (u16 j = 1; iter != input.items.end(); iter++, j++) {
+       for (u16 j = 1; iter != input.items.end(); ++iter, j++) {
                if (iter->empty())
                        continue;
                lua_pushstring(L, iter->name.c_str());
index 1fa7845b596a226cbff0df26e739c8483b027386..75b07fa37236178502c3951d2b374c65e5926388 100644 (file)
@@ -534,7 +534,7 @@ int ModApiEnvMod::l_get_objects_inside_radius(lua_State *L)
        ScriptApiBase *script = getScriptApiBase(L);
        lua_createtable(L, ids.size(), 0);
        std::vector<u16>::const_iterator iter = ids.begin();
-       for(u32 i = 0; iter != ids.end(); iter++) {
+       for(u32 i = 0; iter != ids.end(); ++iter) {
                ServerActiveObject *obj = env->getActiveObject(*iter);
                // Insert object reference into table
                script->objectrefGetOrCreate(L, obj);
@@ -985,8 +985,7 @@ int ModApiEnvMod::l_find_path(lua_State *L)
                lua_newtable(L);
                int top = lua_gettop(L);
                unsigned int index = 1;
-               for (std::vector<v3s16>::iterator i = path.begin(); i != path.end();i++)
-               {
+               for (std::vector<v3s16>::iterator i = path.begin(); i != path.end(); ++i) {
                        lua_pushnumber(L,index);
                        push_v3s16(L, *i);
                        lua_settable(L, top);
index 3d204db98618ea5e703fc89fb2c722b87b2004fa..4d0be257c36c98ee4e3d1d84967258f532e3e6b8 100644 (file)
@@ -297,7 +297,7 @@ int ModApiMainMenu::l_get_games(lua_State *L)
                int table2 = lua_gettop(L);
                int internal_index=1;
                for (std::set<std::string>::iterator iter = games[i].addon_mods_paths.begin();
-                               iter != games[i].addon_mods_paths.end(); iter++) {
+                               iter != games[i].addon_mods_paths.end(); ++iter) {
                        lua_pushnumber(L,internal_index);
                        lua_pushstring(L,(*iter).c_str());
                        lua_settable(L, table2);
index c65d56f14800f50564202ab027f04e822b504796..6232112c5ca94b7ce20c3213f54fb65e92db3ab0 100644 (file)
@@ -107,7 +107,7 @@ void NodeMetaRef::handleToTable(lua_State *L, Metadata *_meta)
        if (inv) {
                std::vector<const InventoryList *> lists = inv->getLists();
                for(std::vector<const InventoryList *>::const_iterator
-                               i = lists.begin(); i != lists.end(); i++) {
+                               i = lists.begin(); i != lists.end(); ++i) {
                        push_inventory_list(L, inv, (*i)->getName().c_str());
                        lua_setfield(L, -2, (*i)->getName().c_str());
                }
index d94f3e31d961b319f9f11bacc7dcc964119ac999..813d5a945697e5be5c5f105722e2426c6a46d1ed 100644 (file)
@@ -103,7 +103,7 @@ int ModApiServer::l_get_player_privs(lua_State *L)
        int table = lua_gettop(L);
        std::set<std::string> privs_s = server->getPlayerEffectivePrivs(name);
        for(std::set<std::string>::const_iterator
-                       i = privs_s.begin(); i != privs_s.end(); i++){
+                       i = privs_s.begin(); i != privs_s.end(); ++i){
                lua_pushboolean(L, true);
                lua_setfield(L, table, i->c_str());
        }
@@ -417,7 +417,7 @@ int ModApiServer::l_get_modnames(lua_State *L)
        // Package them up for Lua
        lua_createtable(L, modlist.size(), 0);
        std::vector<std::string>::iterator iter = modlist.begin();
-       for (u16 i = 0; iter != modlist.end(); iter++) {
+       for (u16 i = 0; iter != modlist.end(); ++iter) {
                lua_pushstring(L, iter->c_str());
                lua_rawseti(L, -2, ++i);
        }
index f54b8b48f25dfcbfa91002364d17d70bd77d00bb..b96f302f6e9281bee5a01e6ea236c56e1476dba2 100644 (file)
@@ -83,8 +83,8 @@ public:
        GetRequest() {}
        ~GetRequest() {}
 
-       GetRequest(Key a_key) {
-               key = a_key;
+       GetRequest(const Key &a_key): key(a_key)
+       {
        }
 
        Key key;
@@ -106,7 +106,7 @@ public:
                return m_queue.empty();
        }
 
-       void add(Key key, Caller caller, CallerData callerdata,
+       void add(const Key &key, Caller caller, CallerData callerdata,
                ResultQueue<Key, T, Caller, CallerData> *dest)
        {
                typename std::deque<GetRequest<Key, T, Caller, CallerData> >::iterator i;