diff --git a/crates/lib/src/games/mod.rs b/crates/lib/src/games/mod.rs index add1f19..98b2a6e 100644 --- a/crates/lib/src/games/mod.rs +++ b/crates/lib/src/games/mod.rs @@ -85,7 +85,7 @@ pub fn query_with_timeout_and_extra_settings( &socket_addr, *engine, extra_settings - .or(Option::from(game.request_settings.clone())) + .or_else(|| Option::from(game.request_settings.clone())) .map(ExtraRequestSettings::into), timeout_settings, ) diff --git a/crates/lib/src/protocols/quake/client.rs b/crates/lib/src/protocols/quake/client.rs index d3f3db6..e905097 100644 --- a/crates/lib/src/protocols/quake/client.rs +++ b/crates/lib/src/protocols/quake/client.rs @@ -116,23 +116,23 @@ pub fn client_query( Ok(Response { name: server_vars .remove("hostname") - .or(server_vars.remove("sv_hostname")) + .or_else(|| server_vars.remove("sv_hostname")) .ok_or(GDErrorKind::PacketBad)?, map: server_vars .remove("mapname") - .or(server_vars.remove("map")) + .or_else(|| server_vars.remove("map")) .ok_or(GDErrorKind::PacketBad)?, players_online: players.len() as u8, players_maximum: server_vars .remove("maxclients") - .or(server_vars.remove("sv_maxclients")) + .or_else(|| server_vars.remove("sv_maxclients")) .ok_or(GDErrorKind::PacketBad)? .parse() .map_err(|e| TypeParse.context(e))?, players, game_version: server_vars .remove("version") - .or(server_vars.remove("*version")), + .or_else(|| server_vars.remove("*version")), unused_entries: server_vars, }) }