static DWORD GetScale(LPCTSTR &lpszText, bool &fError)
{
fError = false;
// Wert folgt?
if (*lpszText!=_T('['))
return CResizeWndHandler::SCALE_1_1;
// Wert laden
LONG lValue1 = _tcstol(lpszText+1,const_cast<LPTSTR*>(&lpszText),10);
if (*lpszText==_T(']'))
{
++lpszText;
return CResizeWndHandler::SCALE(1,lValue1);
}
else if (*lpszText==_T('/'))
{
++lpszText;
LONG lValue2 = _tcstol(lpszText,const_cast<LPTSTR*>(&lpszText),10);
if (*lpszText==_T(']'))
++lpszText;
else
fError = true;
return CResizeWndHandler::SCALE(lValue1,lValue2);
}
else
{
fError = true;
return CResizeWndHandler::SCALE_1_1;
}
}
This line gets an "Unnecessary use of else after early exit.
else if (*lpszText==_T('/'))
The code will be changed to:
static DWORD GetScale(LPCTSTR &lpszText, bool &fError)
{
// Clear error Flag
fError = false;
// Wert folgt?
if (*lpszText!=_T('['))
return CResizeWndHandler::SCALE_1_1;
// Wert laden
LONG lValue1 = _tcstol(lpszText+1,const_cast<LPTSTR*>(&lpszText),10);
if (*lpszText==_T(']'))
{
// Nur ein Wert
++lpszText;
return CResizeWndHandler::SCALE(1,lValue1);
}
if (*lpszText==_T('/'))
{
// zweiten Wert laden
++lpszText;
LONG lValue2 = _tcstol(lpszText,const_cast<LPTSTR*>(&lpszText),10);
if (*lpszText==_T(']'))
++lpszText;
else
// Syntax Fehler, ans Ende springen
fError = true;
return CResizeWndHandler::SCALE(lValue1,lValue2);
}
else
{
// Syntax Fehler, ans Ende springen
fError = true;
return CResizeWndHandler::SCALE_1_1;
}
}
For me this code change will alter the code into an unreadable version.
The (original) code with an else is more readable.
I think a switch case here would do a better job.