From 256ffc91a38208ca3aa613df26482c908e695374 Mon Sep 17 00:00:00 2001 From: AJR Date: Thu, 21 Sep 2023 09:24:57 -0400 Subject: romload.cpp: Use std::string_view in determine_bios_rom --- src/emu/romload.cpp | 11 +++++------ src/emu/romload.h | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/emu/romload.cpp b/src/emu/romload.cpp index 521ebcf0df2..c7053b9a3b7 100644 --- a/src/emu/romload.cpp +++ b/src/emu/romload.cpp @@ -364,10 +364,11 @@ std::error_condition rom_load_manager::set_disk_handle(std::string_view region, from SYSTEM_BIOS structure and OPTION_BIOS -------------------------------------------------*/ -void rom_load_manager::determine_bios_rom(device_t &device, const char *specbios) +void rom_load_manager::determine_bios_rom(device_t &device, std::string_view specbios) { // default is applied by the device at config complete time - if (specbios && *specbios && core_stricmp(specbios, "default")) + using namespace std::literals; + if (!specbios.empty() && !util::streqlower(specbios, "default"sv)) { bool found(false); for (const rom_entry &rom : device.rom_region_vector()) @@ -376,11 +377,9 @@ void rom_load_manager::determine_bios_rom(device_t &device, const char *specbios { char const *const biosname = ROM_GETNAME(&rom); int const bios_flags = ROM_GETBIOSFLAGS(&rom); - char bios_number[20]; // Allow '-bios n' to still be used - sprintf(bios_number, "%d", bios_flags - 1); - if (!core_stricmp(bios_number, specbios) || !core_stricmp(biosname, specbios)) + if (specbios == std::to_string(bios_flags - 1) || util::streqlower(specbios, biosname)) { found = true; device.set_system_bios(bios_flags); @@ -1470,7 +1469,7 @@ rom_load_manager::rom_load_manager(running_machine &machine) card_bios.erase(found); } } - determine_bios_rom(device, specbios.c_str()); + determine_bios_rom(device, specbios); } } diff --git a/src/emu/romload.h b/src/emu/romload.h index 76fdb111cc6..c273a08b743 100644 --- a/src/emu/romload.h +++ b/src/emu/romload.h @@ -432,7 +432,7 @@ public: static std::error_condition open_disk_image(const emu_options &options, software_list_device &swlist, const software_info &swinfo, const rom_entry *romp, chd_file &image_chd); private: - void determine_bios_rom(device_t &device, const char *specbios); + void determine_bios_rom(device_t &device, std::string_view specbios); void count_roms(); void fill_random(u8 *base, u32 length); void handle_missing_file(const rom_entry *romp, const std::vector &tried_file_names, std::error_condition chderr); -- cgit v1.2.3