From bb9aabd1b8b4858827da27d2193e6f9cad1c3c81 Mon Sep 17 00:00:00 2001 From: Chris Beck Date: Mon, 17 Nov 2014 18:55:17 -0500 Subject: [PATCH] replace many lexical_cast with lexical_cast_default This is to avoid bad_lexical_cast exception. I'm not sure if in any cases this could actually have thrown but it's better to be safe. Conflicts: src/server/game.cpp --- src/server/game.cpp | 8 ++++---- src/server/room_manager.cpp | 2 +- src/server/server.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/server/game.cpp b/src/server/game.cpp index af29d3640d44..db05adbb2318 100644 --- a/src/server/game.cpp +++ b/src/server/game.cpp @@ -508,7 +508,7 @@ void game::change_controller(const size_t side_num, { DBG_GAME << __func__ << "...\n"; - const std::string& side = lexical_cast(side_num + 1); + const std::string& side = lexical_cast_default(side_num + 1); sides_[side_num] = sock; if (player_left && side_controllers_[side_num] == "ai") { @@ -912,11 +912,11 @@ bool game::process_turn(simple_wml::document& data, const player_map::const_iter if (side_num < 1 || side_num > gamemap::MAX_PLAYERS || sides_[side_num - 1] != user->first) { if (user->first == current_player()) { - speak.set_attr_dup("side", lexical_cast(current_side() + 1).c_str()); + speak.set_attr_dup("side", lexical_cast_default(current_side() + 1).c_str()); } else { const side_vector::const_iterator s = std::find(sides_.begin(), sides_.end(), user->first); - speak.set_attr_dup("side", lexical_cast(s - sides_.begin() + 1).c_str()); + speak.set_attr_dup("side", lexical_cast_default(s - sides_.begin() + 1).c_str()); } } } @@ -1211,7 +1211,7 @@ bool game::remove_player(const network::connection player, const bool disconnect } //send the host a notification of removal of this side - const std::string side_drop = lexical_cast(side_num + 1); + const std::string side_drop = lexical_cast_default(side_num + 1); simple_wml::document drop; drop.root().set_attr("side_drop", side_drop.c_str()); drop.root().set_attr("controller", side_controllers_[side_num].c_str()); diff --git a/src/server/room_manager.cpp b/src/server/room_manager.cpp index c0d3a926e0b4..4db48417babb 100644 --- a/src/server/room_manager.cpp +++ b/src/server/room_manager.cpp @@ -532,7 +532,7 @@ void room_manager::fill_room_list(simple_wml::node& root) const room& r = *tr.second; simple_wml::node& room = rooms.add_child("room"); room.set_attr_dup("name", r.name().c_str()); - room.set_attr_dup("size", lexical_cast(r.members().size()).c_str()); + room.set_attr_dup("size", lexical_cast_default(r.members().size()).c_str()); } } diff --git a/src/server/server.cpp b/src/server/server.cpp index 90da43d49b08..ee5859a9fe30 100644 --- a/src/server/server.cpp +++ b/src/server/server.cpp @@ -2409,7 +2409,7 @@ void server::process_data_game(const network::connection sock, } g->set_description(&desc); - desc.set_attr_dup("id", lexical_cast(g->id()).c_str()); + desc.set_attr_dup("id", lexical_cast_default(g->id()).c_str()); } else { WRN_SERVER << network::ip_address(sock) << "\t" << pl->second.name() << "\tsent scenario data in game:\t\"" << g->name() << "\" ("