From: Ben Noordhuis Date: Sat, 17 Mar 2012 21:58:48 +0000 (+0100) Subject: fix warning: array subscript is above array bounds X-Git-Tag: xonotic-v0.7.0~16^2~6^2~2^2^2~8 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=cd725d680aae59c22191bfc3422da00c290e8716;p=xonotic%2Fnetradiant.git fix warning: array subscript is above array bounds Simplify and flatten the code while we're at it. --- diff --git a/radiant/brushscript.cpp b/radiant/brushscript.cpp index 359fd299..d056b56b 100644 --- a/radiant/brushscript.cpp +++ b/radiant/brushscript.cpp @@ -426,42 +426,28 @@ void Input( char*& pBuffer ){ const char *fields[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 ) { bGo = true; - if ( n < 5 ) { - 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; - } - } + fields[n] = g_Variables[n].m_strInput.GetBuffer(); } } - if ( bGo ) { - if ( DoBSInputDlg( fields, values ) == IDOK ) { - for ( int n = 0; n < g_nVariableCount; n++ ) - { - if ( g_Variables[n].m_strInput.GetLength() > 0 ) { - if ( n < 5 ) { - 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; - } - } - } - } + if ( !bGo ) { + return; + } + + 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 ) { + g_Variables[n].m_fValue = values[n]; } - else{ g_bKeepGoing = false; } } }