diff --git a/common/libeval_compiler/libeval_compiler.cpp b/common/libeval_compiler/libeval_compiler.cpp index 35aa1d79d2..48c9da201a 100644 --- a/common/libeval_compiler/libeval_compiler.cpp +++ b/common/libeval_compiler/libeval_compiler.cpp @@ -372,10 +372,10 @@ int COMPILER::resolveUnits() bool COMPILER::lexDefault( T_TOKEN& aToken ) { - T_TOKEN retval; + T_TOKEN retval; wxString current; - int convertFrom; - wxString msg; + int convertFrom; + wxString msg; retval.value.str = nullptr; retval.token = G_ENDS; @@ -396,8 +396,8 @@ bool COMPILER::lexDefault( T_TOKEN& aToken ) auto extractNumber = [&]() { - bool haveSeparator = false; - wxUniChar ch = m_tokenizer.GetChar(); + bool haveSeparator = false; + wxUniChar ch = m_tokenizer.GetChar(); do { @@ -865,7 +865,7 @@ bool COMPILER::generateUCode( UCODE* aCode, CONTEXT* aPreflightContext ) } else { - value = wxAtof( *node->value.str ); + value = DoubleValueFromString( EDA_UNITS::MILLIMETRES, *node->value.str ); } node->SetUop( TR_UOP_PUSH_VALUE, value ); diff --git a/pcbnew/pcb_expr_evaluator.cpp b/pcbnew/pcb_expr_evaluator.cpp index e5f870656e..3930cab220 100644 --- a/pcbnew/pcb_expr_evaluator.cpp +++ b/pcbnew/pcb_expr_evaluator.cpp @@ -361,9 +361,9 @@ public: switch( unitId ) { - case 0: return Mils2iu( v ); - case 1: return Millimeter2iu( v ); - case 2: return Mils2iu( v * 1000.0 ); + case 0: return DoubleValueFromString( EDA_UNITS::INCHES, aString, true ); + case 1: return DoubleValueFromString( EDA_UNITS::MILLIMETRES, aString ); + case 2: return DoubleValueFromString( EDA_UNITS::INCHES, aString, false ); default: return v; } };