Fix errors from faulty merge (nw)

This commit is contained in:
AJR 2016-01-02 17:18:26 -05:00
parent 6b443c5877
commit a0d3f281ba
2 changed files with 23 additions and 9 deletions

View File

@ -609,8 +609,8 @@ void validity_checker::validate_roms()
device_iterator deviter(m_current_config->root_device());
for (device_t *device = deviter.first(); device != nullptr; device = deviter.next())
{
// for non-root devices, track the current device
m_current_device = (device->owner() == nullptr) ? nullptr : device;
// track the current device
m_current_device = device;
// scan the ROM entries for this device
const char *last_region_name = "???";
@ -874,8 +874,8 @@ void validity_checker::validate_inputs()
if (device->input_ports() == nullptr)
continue;
// for non-root devices, track the current device
m_current_device = (device == &m_current_config->root_device()) ? nullptr : device;
// track the current device
m_current_device = device;
// allocate the input ports
ioport_list portlist;
@ -977,8 +977,8 @@ void validity_checker::validate_devices()
device_iterator iter(m_current_config->root_device());
for (const device_t *device = iter.first(); device != nullptr; device = iter.next())
{
// for non-root devices, track the current device
m_current_device = (device == &m_current_config->root_device()) ? nullptr : device;
// track the current device
m_current_device = device;
// validate the device tag
validate_tag(device->basetag());
@ -1042,9 +1042,9 @@ void validity_checker::build_output_prefix(std::string &str)
// start empty
str.clear();
// if we have a current device, indicate that
if (m_current_device != nullptr)
str.append(m_current_device->name()).append(" device '").append(m_current_device->tag()).append("': ");
// if we have a current (non-root) device, indicate that
if (m_current_device != nullptr && m_current_device->owner() != nullptr)
str.append(m_current_device->name()).append(" device '").append(m_current_device->tag()+1).append("': ");
// if we have a current port, indicate that as well
if (m_current_ioport != nullptr)
@ -1115,3 +1115,16 @@ void validity_checker::output_via_delegate(osd_output_channel channel, const cha
this->chain_output(channel, format, argptr);
va_end(argptr);
}
//-------------------------------------------------
// output_indented_errors - helper to output error
// and warning messages with header and indents
//-------------------------------------------------
void validity_checker::output_indented_errors(std::string &text, const char *header)
{
// remove trailing newline
if (text[text.size()-1] == '\n')
text.erase(text.size()-1, 1);
strreplace(text, "\n", "\n ");
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "%s:\n %s\n", header, text.c_str());
}

View File

@ -84,6 +84,7 @@ private:
// output helpers
void build_output_prefix(std::string &str);
void output_via_delegate(osd_output_channel channel, const char *format, ...) ATTR_PRINTF(3,4);
void output_indented_errors(std::string &text, const char *header);
// internal driver list
driver_enumerator m_drivlist;