summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/softlist_dev.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/softlist_dev.cpp')
-rw-r--r--src/emu/softlist_dev.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/emu/softlist_dev.cpp b/src/emu/softlist_dev.cpp
index a7ad66fb3a2..013f90c779c 100644
--- a/src/emu/softlist_dev.cpp
+++ b/src/emu/softlist_dev.cpp
@@ -252,13 +252,13 @@ void software_list_device::display_matches(const machine_config &config, const c
// from an intermediate point
//-------------------------------------------------
-const software_info *software_list_device::find(const char *look_for)
+const software_info *software_list_device::find(const std::string &look_for)
{
- // nullptr search returns nothing
- if (look_for == nullptr)
+ // empty search returns nothing
+ if (look_for.empty())
return nullptr;
- bool iswild = strchr(look_for, '*') != nullptr || strchr(look_for, '?');
+ const bool iswild = look_for.find_first_of("*?") != std::string::npos;
// find a match (will cause a parse if needed when calling get_info)
const auto &info_list = get_info();
@@ -268,8 +268,8 @@ const software_info *software_list_device::find(const char *look_for)
[&](const software_info &info)
{
const char *shortname = info.shortname().c_str();
- return (iswild && core_strwildcmp(look_for, shortname) == 0)
- || core_stricmp(look_for, shortname) == 0;
+ return (iswild && core_strwildcmp(look_for.c_str(), shortname) == 0)
+ || core_stricmp(look_for.c_str(), shortname) == 0;
});
return iter != info_list.end()