Index: sources/model/dg/data/MDGROPumpData.cpp =================================================================== diff -u -r2ef03b2ce51b4dc507f66e9671953a8e0824bde9 -ra09c1a91b8eaf9d7164ba7f274d4ccd557c05f22 --- sources/model/dg/data/MDGROPumpData.cpp (.../MDGROPumpData.cpp) (revision 2ef03b2ce51b4dc507f66e9671953a8e0824bde9) +++ sources/model/dg/data/MDGROPumpData.cpp (.../MDGROPumpData.cpp) (revision a09c1a91b8eaf9d7164ba7f274d4ccd557c05f22) @@ -29,19 +29,19 @@ bool MDGROPump::fromByteArray(const QByteArray &vByteArray, int *vIndex) { int index = 0; // message data start position - if (GetValue(vByteArray, index, _data.mPressure )) - if (GetValue(vByteArray, index, _data.mFlowRate )) - if (GetValue(vByteArray, index, _data.mPWM )) - if (GetValue(vByteArray, index, _data.mState )) - if (GetValue(vByteArray, index, _data.mTgtFlowRate )) - if (GetValue(vByteArray, index, _data.mFBPWM )) - return true ; - else { if(vIndex) *vIndex = index; return false; } - else { if(vIndex) *vIndex = index; return false; } - else { if(vIndex) *vIndex = index; return false; } - else { if(vIndex) *vIndex = index; return false; } - else { if(vIndex) *vIndex = index; return false; } - else { if(vIndex) *vIndex = index; return false; } + if ( ! GetValue(vByteArray, index, _data.mPressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFlowRate )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mPWM )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mState )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mTgtFlowRate )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFBPWM )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; } /*!