From 682293c0d0e1ed653dd1ae3777e9952445aa566f Mon Sep 17 00:00:00 2001 From: Stuart Buchanan Date: Sat, 18 Apr 2020 22:00:04 +0100 Subject: [PATCH] Fix for C++11 using simgear::strutils::lowercase --- src/Main/positioninit.cxx | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/Main/positioninit.cxx b/src/Main/positioninit.cxx index 21867c4b6..bac439c28 100644 --- a/src/Main/positioninit.cxx +++ b/src/Main/positioninit.cxx @@ -24,6 +24,7 @@ #include // simgear +#include #include #include #include @@ -835,11 +836,11 @@ void finalizePosition() * loaded. => When requested "initial preset position" relates to a * carrier, recalculate the 'initial' position here */ - std::string carrier = fgGetString("/sim/presets/carrier"); - std::string carrierpos = fgGetString("/sim/presets/carrier-position"); - std::string parkpos = fgGetString("/sim/presets/parkpos"); - std::string runway = fgGetString("/sim/presets/runway"); - std::string apt = fgGetString("/sim/presets/airport-id"); + const std::string carrier = fgGetString("/sim/presets/carrier"); + const std::string carrierpos = fgGetString("/sim/presets/carrier-position"); + const std::string parkpos = fgGetString("/sim/presets/parkpos"); + const std::string runway = fgGetString("/sim/presets/runway"); + const std::string apt = fgGetString("/sim/presets/airport-id"); if (!carrier.empty()) { @@ -851,20 +852,17 @@ void finalizePosition() */ // Convert to lower case to simplify comparison - std::transform(carrierpos.begin(), - carrierpos.end(), - carrierpos.begin(), - [](unsigned char c) { return std::tolower(c); }); + std::string cpos = simgear::strutils::lowercase(carrierpos); - const bool inair = (carrierpos == "flols") || (carrierpos == "abeam"); - const bool abeam = (carrierpos == "abeam"); + const bool inair = (cpos == "flols") || (cpos == "abeam"); + const bool abeam = (cpos == "abeam"); InitPosResult carrierResult; if (inair) { carrierResult = setFinalPosFromCarrierFLOLS(carrier, abeam); } else { - // We don't simply use carrierpos as it is now lower case, and the + // We don't simply use cpos as it is lower case, and the // search against parking/catapult positions is case-sensitive. - carrierResult = setFinalPosFromCarrier(carrier, fgGetString("/sim/presets/carrier-position")); + carrierResult = setFinalPosFromCarrier(carrier, carrierpos); } if (carrierResult == ExactPosition) { done = true;