Fix the buffer overflow.
This commit is contained in:
170
menu.c
170
menu.c
@@ -48,90 +48,90 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "input.h"
|
||||
#include "x86.h"
|
||||
|
||||
/*menu states*/
|
||||
enum MENU
|
||||
{
|
||||
MENU_NONE1,
|
||||
MENU_NONE2,
|
||||
MENU_MAIN1,
|
||||
MENU_MAIN2,
|
||||
MENU_FILE_SELECT1,
|
||||
MENU_FILE_SELECT2,
|
||||
MENU_FILE_SELECTED,
|
||||
MENU_RESET1,
|
||||
MENU_RESET2,
|
||||
MENU_RECONF1,
|
||||
MENU_RECONF2,
|
||||
MENU_SETTINGS1,
|
||||
MENU_SETTINGS2,
|
||||
MENU_ROMFILE_SELECTED,
|
||||
MENU_ROMFILE_SELECTED1,
|
||||
MENU_ROMFILE_SELECTED2,
|
||||
MENU_SETTINGS_VIDEO1,
|
||||
MENU_SETTINGS_VIDEO2,
|
||||
MENU_SETTINGS_MEMORY1,
|
||||
MENU_SETTINGS_MEMORY2,
|
||||
MENU_SETTINGS_CHIPSET1,
|
||||
MENU_SETTINGS_CHIPSET2,
|
||||
MENU_SETTINGS_DRIVES1,
|
||||
MENU_SETTINGS_DRIVES2,
|
||||
MENU_SETTINGS_HARDFILE1,
|
||||
MENU_SETTINGS_HARDFILE2,
|
||||
MENU_HARDFILE_SELECT1,
|
||||
MENU_HARDFILE_SELECT2,
|
||||
MENU_HARDFILE_SELECTED,
|
||||
MENU_HARDFILE_EXIT,
|
||||
MENU_HARDFILE_CHANGED1,
|
||||
MENU_HARDFILE_CHANGED2,
|
||||
MENU_SYNTHRDB1,
|
||||
MENU_SYNTHRDB2,
|
||||
MENU_SYNTHRDB2_1,
|
||||
MENU_SYNTHRDB2_2,
|
||||
MENU_LOADCONFIG_1,
|
||||
MENU_LOADCONFIG_2,
|
||||
MENU_SAVECONFIG_1,
|
||||
MENU_SAVECONFIG_2,
|
||||
MENU_FIRMWARE1,
|
||||
MENU_FIRMWARE2,
|
||||
MENU_FIRMWARE_CORE_FILE_SELECTED,
|
||||
MENU_ERROR,
|
||||
MENU_INFO,
|
||||
MENU_STORAGE,
|
||||
MENU_JOYDIGMAP,
|
||||
MENU_JOYDIGMAP1,
|
||||
MENU_KBDMAP,
|
||||
MENU_KBDMAP1,
|
||||
|
||||
// Mist/atari specific pages
|
||||
MENU_MIST_MAIN1,
|
||||
MENU_MIST_MAIN2,
|
||||
MENU_MIST_MAIN_FILE_SELECTED,
|
||||
MENU_MIST_STORAGE1,
|
||||
MENU_MIST_STORAGE2,
|
||||
MENU_MIST_STORAGE_FILE_SELECTED,
|
||||
MENU_MIST_SYSTEM1,
|
||||
MENU_MIST_SYSTEM2,
|
||||
MENU_MIST_SYSTEM_FILE_SELECTED,
|
||||
MENU_MIST_VIDEO1,
|
||||
MENU_MIST_VIDEO2,
|
||||
MENU_MIST_VIDEO_ADJUST1,
|
||||
MENU_MIST_VIDEO_ADJUST2,
|
||||
|
||||
// archimedes menu entries
|
||||
MENU_ARCHIE_MAIN1,
|
||||
MENU_ARCHIE_MAIN2,
|
||||
MENU_ARCHIE_MAIN_FILE_SELECTED,
|
||||
|
||||
// 8bit menu entries
|
||||
MENU_8BIT_MAIN1,
|
||||
MENU_8BIT_MAIN2,
|
||||
MENU_8BIT_MAIN_FILE_SELECTED,
|
||||
MENU_8BIT_MAIN_IMAGE_SELECTED,
|
||||
MENU_8BIT_SYSTEM1,
|
||||
MENU_8BIT_SYSTEM2,
|
||||
MENU_8BIT_ABOUT1,
|
||||
MENU_8BIT_ABOUT2
|
||||
};
|
||||
/*menu states*/
|
||||
enum MENU
|
||||
{
|
||||
MENU_NONE1,
|
||||
MENU_NONE2,
|
||||
MENU_MAIN1,
|
||||
MENU_MAIN2,
|
||||
MENU_FILE_SELECT1,
|
||||
MENU_FILE_SELECT2,
|
||||
MENU_FILE_SELECTED,
|
||||
MENU_RESET1,
|
||||
MENU_RESET2,
|
||||
MENU_RECONF1,
|
||||
MENU_RECONF2,
|
||||
MENU_SETTINGS1,
|
||||
MENU_SETTINGS2,
|
||||
MENU_ROMFILE_SELECTED,
|
||||
MENU_ROMFILE_SELECTED1,
|
||||
MENU_ROMFILE_SELECTED2,
|
||||
MENU_SETTINGS_VIDEO1,
|
||||
MENU_SETTINGS_VIDEO2,
|
||||
MENU_SETTINGS_MEMORY1,
|
||||
MENU_SETTINGS_MEMORY2,
|
||||
MENU_SETTINGS_CHIPSET1,
|
||||
MENU_SETTINGS_CHIPSET2,
|
||||
MENU_SETTINGS_DRIVES1,
|
||||
MENU_SETTINGS_DRIVES2,
|
||||
MENU_SETTINGS_HARDFILE1,
|
||||
MENU_SETTINGS_HARDFILE2,
|
||||
MENU_HARDFILE_SELECT1,
|
||||
MENU_HARDFILE_SELECT2,
|
||||
MENU_HARDFILE_SELECTED,
|
||||
MENU_HARDFILE_EXIT,
|
||||
MENU_HARDFILE_CHANGED1,
|
||||
MENU_HARDFILE_CHANGED2,
|
||||
MENU_SYNTHRDB1,
|
||||
MENU_SYNTHRDB2,
|
||||
MENU_SYNTHRDB2_1,
|
||||
MENU_SYNTHRDB2_2,
|
||||
MENU_LOADCONFIG_1,
|
||||
MENU_LOADCONFIG_2,
|
||||
MENU_SAVECONFIG_1,
|
||||
MENU_SAVECONFIG_2,
|
||||
MENU_FIRMWARE1,
|
||||
MENU_FIRMWARE2,
|
||||
MENU_FIRMWARE_CORE_FILE_SELECTED,
|
||||
MENU_ERROR,
|
||||
MENU_INFO,
|
||||
MENU_STORAGE,
|
||||
MENU_JOYDIGMAP,
|
||||
MENU_JOYDIGMAP1,
|
||||
MENU_KBDMAP,
|
||||
MENU_KBDMAP1,
|
||||
|
||||
// Mist/atari specific pages
|
||||
MENU_MIST_MAIN1,
|
||||
MENU_MIST_MAIN2,
|
||||
MENU_MIST_MAIN_FILE_SELECTED,
|
||||
MENU_MIST_STORAGE1,
|
||||
MENU_MIST_STORAGE2,
|
||||
MENU_MIST_STORAGE_FILE_SELECTED,
|
||||
MENU_MIST_SYSTEM1,
|
||||
MENU_MIST_SYSTEM2,
|
||||
MENU_MIST_SYSTEM_FILE_SELECTED,
|
||||
MENU_MIST_VIDEO1,
|
||||
MENU_MIST_VIDEO2,
|
||||
MENU_MIST_VIDEO_ADJUST1,
|
||||
MENU_MIST_VIDEO_ADJUST2,
|
||||
|
||||
// archimedes menu entries
|
||||
MENU_ARCHIE_MAIN1,
|
||||
MENU_ARCHIE_MAIN2,
|
||||
MENU_ARCHIE_MAIN_FILE_SELECTED,
|
||||
|
||||
// 8bit menu entries
|
||||
MENU_8BIT_MAIN1,
|
||||
MENU_8BIT_MAIN2,
|
||||
MENU_8BIT_MAIN_FILE_SELECTED,
|
||||
MENU_8BIT_MAIN_IMAGE_SELECTED,
|
||||
MENU_8BIT_SYSTEM1,
|
||||
MENU_8BIT_SYSTEM2,
|
||||
MENU_8BIT_ABOUT1,
|
||||
MENU_8BIT_ABOUT2
|
||||
};
|
||||
|
||||
unsigned char menustate = MENU_NONE1;
|
||||
unsigned char parentstate;
|
||||
@@ -186,7 +186,7 @@ const char *helptexts[] = {
|
||||
|
||||
// one screen width
|
||||
const char* HELPTEXT_SPACER = " ";
|
||||
char helptext_custom[320];
|
||||
char helptext_custom[1024];
|
||||
|
||||
const char* scanlines[] = { "Off","25%","50%","75%" };
|
||||
const char* stereo[] = { "Mono","Stereo" };
|
||||
|
||||
Reference in New Issue
Block a user