summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/softlist_dev.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2019-09-26 20:53:06 +1000
committer Vas Crabb <vas@vastheman.com>2019-09-26 20:53:06 +1000
commit9a12ab37afb3e43d9d3c296b34348b835bafb2ea (patch)
tree6af7ce1fc5f52b1518100a1be926514cd2f34feb /src/emu/softlist_dev.cpp
parent9d4b7b02acdb79fac05606f57c3fddd08593cba8 (diff)
Make osd_printf_* use util/strformat semantics.
(nw) This has been a long time coming but it's here at last. It should be easier now that logerror, popmessage and osd_printf_* behave like string_format and stream_format. Remember the differences from printf: * Any object with a stream out operator works with %s * %d, %i, %o, %x, %X, etc. work out the size by magic * No sign extending promotion to int for short/char * No widening/narrowing conversions for characters/strings * Same rules on all platforms, insulated from C runtime library * No format warnings from compiler * Assert in debug builds if number of arguments doesn't match format (nw) Also removed a pile of redundant c_str and string_format, and some workarounds for not being able to portably format 64-bit integers or long long.
Diffstat (limited to 'src/emu/softlist_dev.cpp')
-rw-r--r--src/emu/softlist_dev.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/emu/softlist_dev.cpp b/src/emu/softlist_dev.cpp
index 831fc3f6734..015c8f13a6a 100644
--- a/src/emu/softlist_dev.cpp
+++ b/src/emu/softlist_dev.cpp
@@ -221,15 +221,15 @@ void software_list_device::display_matches(const machine_config &config, const c
{
// different output depending on original system or compatible
if (swlistdev.list_type() == SOFTWARE_LIST_ORIGINAL_SYSTEM)
- osd_printf_error("* Software list \"%s\" (%s) matches: \n", swlistdev.list_name().c_str(), swlistdev.description().c_str());
+ osd_printf_error("* Software list \"%s\" (%s) matches: \n", swlistdev.list_name(), swlistdev.description());
else
- osd_printf_error("* Compatible software list \"%s\" (%s) matches: \n", swlistdev.list_name().c_str(), swlistdev.description().c_str());
+ osd_printf_error("* Compatible software list \"%s\" (%s) matches: \n", swlistdev.list_name(), swlistdev.description());
// print them out
for (auto &match : matches)
{
if (match != nullptr)
- osd_printf_error("%-18s%s\n", match->shortname().c_str(), match->longname().c_str());
+ osd_printf_error("%-18s%s\n", match->shortname(), match->longname());
}
osd_printf_error("\n");
@@ -440,28 +440,28 @@ void software_list_device::internal_validity_check(validity_checker &valid)
// Did we lost any description?
if (swinfo.longname().empty())
{
- osd_printf_error("%s: %s has no description\n", filename(), shortname.c_str());
+ osd_printf_error("%s: %s has no description\n", filename(), shortname);
break;
}
// Did we lost any year?
if (swinfo.year().empty())
{
- osd_printf_error("%s: %s has no year\n", filename(), shortname.c_str());
+ osd_printf_error("%s: %s has no year\n", filename(), shortname);
break;
}
// Did we lost any publisher?
if (swinfo.publisher().empty())
{
- osd_printf_error("%s: %s has no publisher\n", filename(), shortname.c_str());
+ osd_printf_error("%s: %s has no publisher\n", filename(), shortname);
break;
}
// Did we lost the software parts?
if (swinfo.parts().empty())
{
- osd_printf_error("%s: %s has no part\n", filename(), shortname.c_str());
+ osd_printf_error("%s: %s has no part\n", filename(), shortname);
break;
}
@@ -471,20 +471,20 @@ void software_list_device::internal_validity_check(validity_checker &valid)
if (!names.insert(std::make_pair(shortname, &swinfo)).second)
{
const software_info *match = names.find(shortname)->second;
- osd_printf_error("%s: %s is a duplicate name (%s)\n", filename(), shortname.c_str(), match->shortname().c_str());
+ osd_printf_error("%s: %s is a duplicate name (%s)\n", filename(), shortname, match->shortname());
}
// check for duplicate descriptions
std::string longname(swinfo.longname());
if (!descriptions.insert(std::make_pair(strmakelower(longname), &swinfo)).second)
- osd_printf_error("%s: %s is a duplicate description (%s)\n", filename(), swinfo.longname().c_str(), shortname.c_str());
+ osd_printf_error("%s: %s is a duplicate description (%s)\n", filename(), swinfo.longname(), shortname);
bool const is_clone(!swinfo.parentname().empty());
if (is_clone)
{
if (swinfo.parentname() == shortname)
{
- osd_printf_error("%s: %s is set as a clone of itself\n", filename(), shortname.c_str());
+ osd_printf_error("%s: %s is set as a clone of itself\n", filename(), shortname);
break;
}
@@ -492,21 +492,21 @@ void software_list_device::internal_validity_check(validity_checker &valid)
const software_info *swinfo2 = find(swinfo.parentname().c_str());
if (swinfo2 == nullptr)
- osd_printf_error("%s: parent '%s' software for '%s' not found\n", filename(), swinfo.parentname().c_str(), shortname.c_str());
+ osd_printf_error("%s: parent '%s' software for '%s' not found\n", filename(), swinfo.parentname(), shortname);
else if (!swinfo2->parentname().empty())
- osd_printf_error("%s: %s is a clone of a clone\n", filename(), shortname.c_str());
+ osd_printf_error("%s: %s is a clone of a clone\n", filename(), shortname);
}
// make sure the driver name isn't too long
if (shortname.length() > (is_clone ? NAME_LEN_CLONE : NAME_LEN_PARENT))
- osd_printf_error("%s: %s %s software name must be %d characters or less\n", filename(), shortname.c_str(),
+ osd_printf_error("%s: %s %s software name must be %d characters or less\n", filename(), shortname,
is_clone ? "clone" : "parent", is_clone ? NAME_LEN_CLONE : NAME_LEN_PARENT);
// make sure the driver name doesn't contain invalid characters
for (char ch : shortname)
if (((ch < '0') || (ch > '9')) && ((ch < 'a') || (ch > 'z')) && (ch != '_'))
{
- osd_printf_error("%s: %s contains invalid characters\n", filename(), shortname.c_str());
+ osd_printf_error("%s: %s contains invalid characters\n", filename(), shortname);
break;
}
@@ -514,7 +514,7 @@ void software_list_device::internal_validity_check(validity_checker &valid)
for (char ch : swinfo.year())
if (!isdigit(u8(ch)) && (ch != '?') && (ch != '+'))
{
- osd_printf_error("%s: %s has an invalid year '%s'\n", filename(), shortname.c_str(), swinfo.year().c_str());
+ osd_printf_error("%s: %s has an invalid year '%s'\n", filename(), shortname, swinfo.year());
break;
}
@@ -522,13 +522,13 @@ void software_list_device::internal_validity_check(validity_checker &valid)
for (const software_part &part : swinfo.parts())
{
if (part.interface().empty())
- osd_printf_error("%s: %s has a part (%s) without interface\n", filename(), shortname.c_str(), part.name().c_str());
+ osd_printf_error("%s: %s has a part (%s) without interface\n", filename(), shortname, part.name());
if (part.romdata().empty())
- osd_printf_error("%s: %s has a part (%s) with no data\n", filename(), shortname.c_str(), part.name().c_str());
+ osd_printf_error("%s: %s has a part (%s) with no data\n", filename(), shortname, part.name());
if (!part_names.insert(std::make_pair(part.name(), &swinfo)).second)
- osd_printf_error("%s: %s has a part (%s) whose name is duplicate\n", filename(), shortname.c_str(), part.name().c_str());
+ osd_printf_error("%s: %s has a part (%s) whose name is duplicate\n", filename(), shortname, part.name());
}
}