fix warning: array subscript is above array bounds

Simplify and flatten the code while we're at it.
This commit is contained in:
Ben Noordhuis 2012-03-17 22:58:48 +01:00
parent 3311b00ae6
commit cd725d680a
1 changed files with 15 additions and 29 deletions

View File

@ -426,43 +426,29 @@ void Input( char*& pBuffer ){
const char *fields[5] = { "", "", "", "", "" }; const char *fields[5] = { "", "", "", "", "" };
float values[5]; float values[5];
for ( int n = 0; n < g_nVariableCount; n++ ) for ( int n = 0; n < 5 && n < g_nVariableCount; n++ )
{ {
if ( g_Variables[n].m_strInput.GetLength() > 0 ) { if ( g_Variables[n].m_strInput.GetLength() > 0 ) {
bGo = true; bGo = true;
if ( n < 5 ) { fields[n] = g_Variables[n].m_strInput.GetBuffer();
switch ( n )
{
case 0: fields[1] = g_Variables[n].m_strInput.GetBuffer(); break;
case 1: fields[2] = g_Variables[n].m_strInput.GetBuffer(); break;
case 2: fields[3] = g_Variables[n].m_strInput.GetBuffer(); break;
case 3: fields[4] = g_Variables[n].m_strInput.GetBuffer(); break;
case 4: fields[5] = g_Variables[n].m_strInput.GetBuffer(); break;
}
}
} }
} }
if ( bGo ) { if ( !bGo ) {
if ( DoBSInputDlg( fields, values ) == IDOK ) { return;
for ( int n = 0; n < g_nVariableCount; n++ ) }
if ( DoBSInputDlg( fields, values ) != IDOK ) {
g_bKeepGoing = false;
return;
}
for ( int n = 0; n < 5 && n < g_nVariableCount; n++ )
{ {
if ( g_Variables[n].m_strInput.GetLength() > 0 ) { if ( g_Variables[n].m_strInput.GetLength() > 0 ) {
if ( n < 5 ) { g_Variables[n].m_fValue = values[n];
switch ( n )
{
case 0: g_Variables[n].m_fValue = values[1]; break;
case 1: g_Variables[n].m_fValue = values[2]; break;
case 2: g_Variables[n].m_fValue = values[3]; break;
case 3: g_Variables[n].m_fValue = values[4]; break;
case 4: g_Variables[n].m_fValue = values[5]; break;
} }
} }
}
}
}
else{ g_bKeepGoing = false; }
}
} }
bool g_bWaiting; bool g_bWaiting;