diff options
author | 2016-08-10 22:38:57 +1000 | |
---|---|---|
committer | 2016-08-10 22:38:57 +1000 | |
commit | 88779c9b105dae73dfd098269e3a70540da88fcc (patch) | |
tree | 0ffbb3c80ecb32e2f918b29f40a194ad903ab828 /src/emu/softlist.cpp | |
parent | b37bdb6c32807a463b5147c4f5eaaa0c88eb1d77 (diff) | |
parent | 1f7c2b6a4a8c71751666b10461165f18d8b70cbc (diff) |
Merge pull request #1223 from npwoods/more_softlist_stdstring
Converted more softlist code to use std::string
Diffstat (limited to 'src/emu/softlist.cpp')
-rw-r--r-- | src/emu/softlist.cpp | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/src/emu/softlist.cpp b/src/emu/softlist.cpp index 67178a1b4bb..8f6b12fe914 100644 --- a/src/emu/softlist.cpp +++ b/src/emu/softlist.cpp @@ -101,20 +101,16 @@ bool software_part::matches_interface(const char *interface_list) const // software_info - constructor //------------------------------------------------- -software_info::software_info(std::string &&name, std::string &&parent, const char *supported) - : m_next(nullptr), - m_supported(SOFTWARE_SUPPORTED_YES), +software_info::software_info(std::string &&name, std::string &&parent, const std::string &supported) + : m_supported(SOFTWARE_SUPPORTED_YES), m_shortname(std::move(name)), m_parentname(std::move(parent)) { // handle the supported flag if provided - if (supported != nullptr) - { - if (strcmp(supported, "partial") == 0) - m_supported = SOFTWARE_SUPPORTED_PARTIAL; - else if (strcmp(supported, "no") == 0) - m_supported = SOFTWARE_SUPPORTED_NO; - } + if (supported == "partial") + m_supported = SOFTWARE_SUPPORTED_PARTIAL; + else if (supported == "no") + m_supported = SOFTWARE_SUPPORTED_NO; } @@ -123,22 +119,20 @@ software_info::software_info(std::string &&name, std::string &&parent, const cha // optional interface match //------------------------------------------------- -const software_part *software_info::find_part(const char *partname, const char *interface) const +const software_part *software_info::find_part(const std::string &partname, const char *interface) const { // if neither partname nor interface supplied, then we just return the first entry - if (partname != nullptr && strlen(partname)==0) partname = nullptr; - - if (partname == nullptr && interface == nullptr) + if (partname.empty() && interface == nullptr) return &m_partdata.front(); // look for the part by name and match against the interface if provided for (const software_part &part : m_partdata) - if (partname != nullptr && (partname == part.name())) + if (!partname.empty() && (partname == part.name())) { if (interface == nullptr || part.matches_interface(interface)) return ∂ } - else if (partname == nullptr && part.matches_interface(interface)) + else if (partname.empty() && part.matches_interface(interface)) return ∂ return nullptr; } |