X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FRWStepBasic%2FRWStepBasic_RWSiUnitAndSolidAngleUnit.cxx;h=ee36aaa30977cc4bc96309a0ef23df658e64fbb3;hb=4e76d93bf1fe06ae2256d577828f4da7f6d27f0e;hpb=49f38e37fcab4ace24b9ef5a8101e3a476a77205 diff --git a/src/RWStepBasic/RWStepBasic_RWSiUnitAndSolidAngleUnit.cxx b/src/RWStepBasic/RWStepBasic_RWSiUnitAndSolidAngleUnit.cxx index 9b4aae2ec0..ee36aaa309 100755 --- a/src/RWStepBasic/RWStepBasic_RWSiUnitAndSolidAngleUnit.cxx +++ b/src/RWStepBasic/RWStepBasic_RWSiUnitAndSolidAngleUnit.cxx @@ -55,20 +55,30 @@ void RWStepBasic_RWSiUnitAndSolidAngleUnit::ReadStep (const Handle(StepData_Step if (data->ParamType(num,1) == Interface_ParamEnum) { Standard_CString text = data->ParamCValue(num,1); hasAprefix = reader.DecodePrefix(aPrefix,text); - if(!hasAprefix) - ach->AddFail("Enumeration si_prefix has not an allowed value"); + if(!hasAprefix){ + ach->AddFail("Enumeration si_prefix has not an allowed value"); + return; + } + } + else{ + ach->AddFail("Parameter #1 (prefix) is not an enumeration"); + return; } - else ach->AddFail("Parameter #1 (prefix) is not an enumeration"); } // --- field : name --- StepBasic_SiUnitName aName; if (data->ParamType(num,2) == Interface_ParamEnum) { Standard_CString text = data->ParamCValue(num,2); - if(!reader.DecodeName(aName,text)) + if(!reader.DecodeName(aName,text)){ ach->AddFail("Enumeration si_unit_name has not an allowed value"); + return; + } + } + else{ + ach->AddFail("Parameter #2 (name) is not an enumeration"); + return; } - else ach->AddFail("Parameter #2 (name) is not an enumeration"); // --- Instance of plex componant SolidAngleUnit --- num = data->NextForComplex(num);