diff --git a/src/OpenFOAM/global/debug/simpleObjectRegistry.C b/src/OpenFOAM/global/debug/simpleObjectRegistry.C index 70d7d5aff20766cb08e2be5adf72334e334d5a55..5636a7bca5bf6f925a29476cc3c711b3c2d0ca5b 100644 --- a/src/OpenFOAM/global/debug/simpleObjectRegistry.C +++ b/src/OpenFOAM/global/debug/simpleObjectRegistry.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019-2021 OpenCFD Ltd. + Copyright (C) 2019-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -107,21 +107,30 @@ void Foam::simpleObjectRegistry::setNamedValue if (eq != std::string::npos) { - std::string strval(name.substr(eq+1)); + string strval(name.substr(eq+1)); name.erase(eq); // Truncate the name - float fvalue(val); - - if (Foam::readInt(strval, val)) - { - tok = static_cast<label>(val); - } - else if (Foam::readFloat(strval, fvalue)) + // Treat 'name=' like 'name' (ie, default value) + if (strval.length()) { - tok = fvalue; + float fvalue(0); + + if (Foam::readInt(strval, val)) + { + // Parses as int + tok = static_cast<label>(val); + } + else if (Foam::readFloat(strval, fvalue)) + { + // Parses as float + tok = fvalue; + } + else + { + // Accept 'name=string' for named enums, + tok = std::move(strval); + } } - // Treat 'name=' like 'name' (ie, no value parameter) - // silently ignore 'name=junk', but could warn }