diff --git a/server/masterserver/gsmgr.cc b/server/masterserver/gsmgr.cc index d484057..494343a 100644 --- a/server/masterserver/gsmgr.cc +++ b/server/masterserver/gsmgr.cc @@ -206,8 +206,8 @@ void GSMgr::___GSList(std::shared_ptr request) { auto node_list = a8::MutableXObject::CreateArray(); - for (auto& pair : sorted_node_hash_) { - for (std::shared_ptr gs_node : pair.second) { + for (auto itr = sorted_node_hash_.rbegin(); itr != sorted_node_hash_.rend(); ++itr) { + for (std::shared_ptr gs_node : itr->second) { auto node = a8::MutableXObject::CreateObject(); node->SetVal("node_id", gs_node->node_id); node->SetVal("instance_id", gs_node->instance_id); @@ -360,11 +360,10 @@ std::vector>* GSMgr::GetSortedNodes() if (sorted_node_hash_.empty()) { return nullptr; } - std::vector>* result = nullptr; - for (auto& pair : sorted_node_hash_) { - result = &pair.second; + for (auto itr = sorted_node_hash_.rbegin(); itr != sorted_node_hash_.rend(); ++itr) { + return &itr->second; } - return result; + return nullptr; } void GSMgr::OnVersionChange(std::shared_ptr node)