@@ -423,7 +423,6 @@ void Options::OptionValues::Initialise() {
423423 m_CommonEnvelopeLambdaNanjingInterpolateInMass = false ;
424424 m_CommonEnvelopeLambdaNanjingInterpolateInMetallicity = false ;
425425 m_CommonEnvelopeLambdaNanjingUseRejuvenatedMass = false ;
426- m_AllowMainSequenceStarToSurviveCommonEnvelope = true ;
427426 m_AllowRadiativeEnvelopeStarToSurviveCommonEnvelope = false ;
428427 m_AllowMainSequenceStarToSurviveCommonEnvelope = true ;
429428 m_AllowImmediateRLOFpostCEToSurviveCommonEnvelope = false ;
@@ -3068,25 +3067,31 @@ std::string Options::ParseOptionValues(int p_ArgCount, char *p_ArgStrings[], Opt
30683067 details.rangeParms = {tmp, tmp, tmp}; // create the vector
30693068
30703069 size_t lastChar;
3071- details.rangeParms [0 ].dVal = std::stof (details.parameters [0 ], &lastChar); // floating point start
3072- COMPLAIN_IF (lastChar != details.parameters [0 ].size (), complaint1); // not a valid float
3073- details.rangeParms [2 ].dVal = std::stof (details.parameters [2 ], &lastChar); // floating point inc
3074- COMPLAIN_IF (lastChar != details.parameters [2 ].size (), complaint1); // not a valid float
3070+ details.rangeParms [0 ].dVal = std::stod (details.parameters [0 ], &lastChar); // floating point start
3071+ COMPLAIN_IF (lastChar != details.parameters [0 ].length (), complaint1); // not a valid double
3072+ details.rangeParms [2 ].dVal = std::stod (details.parameters [2 ], &lastChar); // floating point inc
3073+ COMPLAIN_IF (lastChar != details.parameters [2 ].length (), complaint1); // not a valid double
30753074
30763075 try {
30773076 size_t lastChar;
30783077 details.rangeParms [1 ].ulVal = std::stoul (details.parameters [1 ], &lastChar); // unsigned long int count
3079- COMPLAIN_IF (lastChar != details.parameters [1 ].size (), complaint2); // not a valid unsigned long int
3078+ COMPLAIN_IF (lastChar != details.parameters [1 ].length (), complaint2); // not a valid unsigned long int
30803079
30813080 p_OptionsDescriptor.complexOptionValues [idx] = std::make_tuple (longOptionName, details); // reset values
30823081 }
30833082 catch (const std::out_of_range& e) { // not a valid unsigned long int
30843083 errStr = complaint2;
30853084 }
3085+ catch (const std::invalid_argument& e) { // not a valid unsigned long int
3086+ errStr = complaint2;
3087+ }
30863088 }
30873089 catch (const std::out_of_range& e) { // not a valid floating point number
30883090 errStr = complaint1;
30893091 }
3092+ catch (const std::invalid_argument& e) { // not a valid floating point number
3093+ errStr = complaint1;
3094+ }
30903095 } break ;
30913096
30923097 case TYPENAME::LONGDOUBLE: { // LONG DOUBLE
0 commit comments