Actually return an error when the validity check fails

This commit is contained in:
Dirk Best 2015-07-11 14:36:41 +02:00
parent 0e8d3e4bb3
commit 4e50f95e62
3 changed files with 7 additions and 3 deletions

View File

@ -1550,7 +1550,9 @@ void cli_frontend::execute_commands(const char *exename)
if (strcmp(m_options.command(), CLICOMMAND_VALIDATE) == 0)
{
validity_checker valid(m_options);
valid.check_all();
bool result = valid.check_all();
if (!result)
throw emu_fatalerror(MAMERR_FAILED_VALIDITY, "Validity check failed!\n");
return;
}

View File

@ -186,7 +186,7 @@ void validity_checker::check_shared_source(const game_driver &driver)
// check_all - check all drivers
//-------------------------------------------------
void validity_checker::check_all()
bool validity_checker::check_all()
{
// start by checking core stuff
validate_begin();
@ -218,6 +218,8 @@ void validity_checker::check_all()
// cleanup
validate_end();
return !(m_errors > 0 || m_warnings > 0);
}

View File

@ -43,7 +43,7 @@ public:
// operations
void check_driver(const game_driver &driver);
void check_shared_source(const game_driver &driver);
void check_all();
bool check_all();
// helpers for devices
void validate_tag(const char *tag);