diff options
Diffstat (limited to 'src/emu/softlist_dev.cpp')
-rw-r--r-- | src/emu/softlist_dev.cpp | 12 |
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() |