summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2021-01-01 12:18:29 -0500
committer AJR <ajrhacker@users.noreply.github.com>2021-01-01 12:22:17 -0500
commitaa29519528cb3dbdbfac56819bea670ed8c56c5d (patch)
treebdaff6e127ed377a4fc84d3e8ee1b7a99f503d0b /src/frontend
parent21fd9835451a5a7d7655964bfb7adb1ba9b8540f (diff)
Further additions of std::string_view
- corefile.cpp, fileio.cpp: Change puts to take a std::string_view parameter - rendlay.cpp: Use std::string_view instead of bare pointers in various functions - vecstream.h: Add std::string_view conversion operator to obtain output buffer without needing to make it a C string with explicit null termination - xmlfile.cpp: Add get_attribute_string_ptr method that distinguishes between empty strings and absent attributes without falling back to C strings
Diffstat (limited to 'src/frontend')
-rw-r--r--src/frontend/mame/clifront.cpp7
-rw-r--r--src/frontend/mame/ui/inifile.cpp3
-rw-r--r--src/frontend/mame/ui/miscmenu.cpp6
-rw-r--r--src/frontend/mame/ui/ui.cpp6
-rw-r--r--src/frontend/mame/ui/utils.cpp8
5 files changed, 13 insertions, 17 deletions
diff --git a/src/frontend/mame/clifront.cpp b/src/frontend/mame/clifront.cpp
index c284fc879d5..cf5bd408151 100644
--- a/src/frontend/mame/clifront.cpp
+++ b/src/frontend/mame/clifront.cpp
@@ -1085,7 +1085,6 @@ const char cli_frontend::s_softlist_xml_dtd[] =
void cli_frontend::output_single_softlist(std::ostream &out, software_list_device &swlistdev)
{
- util::stream_format(out, "\t<softwarelist name=\"%s\" description=\"%s\">\n", swlistdev.list_name(), util::xml::normalize_string(swlistdev.description().c_str()));
for (const software_info &swinfo : swlistdev.get_info())
{
util::stream_format(out, "\t\t<software name=\"%s\"", util::xml::normalize_string(swinfo.shortname().c_str()));
@@ -1655,7 +1654,7 @@ void cli_frontend::execute_commands(const char *exename)
throw emu_fatalerror("Unable to create file %s.ini\n",emulator_info::get_configname());
// generate the updated INI
- file.puts(m_options.output_ini().c_str());
+ file.puts(m_options.output_ini());
ui_options ui_opts;
emu_file file_ui(OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS);
@@ -1663,7 +1662,7 @@ void cli_frontend::execute_commands(const char *exename)
throw emu_fatalerror("Unable to create file ui.ini\n");
// generate the updated INI
- file_ui.puts(ui_opts.output_ini().c_str());
+ file_ui.puts(ui_opts.output_ini());
plugin_options plugin_opts;
path_iterator iter(m_options.plugins_path());
@@ -1678,7 +1677,7 @@ void cli_frontend::execute_commands(const char *exename)
throw emu_fatalerror("Unable to create file plugin.ini\n");
// generate the updated INI
- file_plugin.puts(plugin_opts.output_ini().c_str());
+ file_plugin.puts(plugin_opts.output_ini());
return;
}
diff --git a/src/frontend/mame/ui/inifile.cpp b/src/frontend/mame/ui/inifile.cpp
index 77dfd1088dc..1bcdce69aba 100644
--- a/src/frontend/mame/ui/inifile.cpp
+++ b/src/frontend/mame/ui/inifile.cpp
@@ -570,8 +570,7 @@ void favorite_manager::save_favorites()
buf << info.devicetype << '\n';
util::stream_format(buf, "%d\n", info.available);
- buf.put('\0');
- file.puts(&buf.vec()[0]);
+ file.puts(std::string_view(buf));
}
}
file.close();
diff --git a/src/frontend/mame/ui/miscmenu.cpp b/src/frontend/mame/ui/miscmenu.cpp
index b9b55264ca4..1c917e3aefe 100644
--- a/src/frontend/mame/ui/miscmenu.cpp
+++ b/src/frontend/mame/ui/miscmenu.cpp
@@ -640,7 +640,7 @@ void menu_export::handle()
// iterate through drivers and output the info
while (drvlist.next())
util::stream_format(buffer, "%-18s\"%s\"\n", drvlist.driver().name, drvlist.driver().type.fullname());
- file.puts(buffer.str().c_str());
+ file.puts(buffer.str());
file.close();
machine().popmessage(_("%s.txt saved under ui folder."), filename);
}
@@ -728,7 +728,7 @@ void menu_machine_configure::handle()
if (filerr == osd_file::error::NONE)
{
std::string inistring = m_opts.output_ini();
- file.puts(inistring.c_str());
+ file.puts(inistring);
ui().popup_time(2, "%s", _("\n Configuration saved \n\n"));
}
}
@@ -868,7 +868,7 @@ menu_plugins_configure::~menu_plugins_configure()
// throw emu_fatalerror("Unable to create file plugin.ini\n");
return;
// generate the updated INI
- file_plugin.puts(mame_machine_manager::instance()->plugins().output_ini().c_str());
+ file_plugin.puts(mame_machine_manager::instance()->plugins().output_ini());
}
//-------------------------------------------------
diff --git a/src/frontend/mame/ui/ui.cpp b/src/frontend/mame/ui/ui.cpp
index 64f68d92049..e2ea6745f86 100644
--- a/src/frontend/mame/ui/ui.cpp
+++ b/src/frontend/mame/ui/ui.cpp
@@ -2262,8 +2262,7 @@ void mame_ui_manager::save_ui_options()
if (file.open("ui.ini") == osd_file::error::NONE)
{
// generate the updated INI
- std::string initext = options().output_ini();
- file.puts(initext.c_str());
+ file.puts(options().output_ini());
file.close();
}
else
@@ -2321,8 +2320,7 @@ void mame_ui_manager::save_main_option()
if (file.open(std::string(emulator_info::get_configname()) + ".ini") == osd_file::error::NONE)
{
// generate the updated INI
- std::string initext = options.output_ini();
- file.puts(initext.c_str());
+ file.puts(options.output_ini());
file.close();
}
else {
diff --git a/src/frontend/mame/ui/utils.cpp b/src/frontend/mame/ui/utils.cpp
index a1f0e11051b..52833a37252 100644
--- a/src/frontend/mame/ui/utils.cpp
+++ b/src/frontend/mame/ui/utils.cpp
@@ -124,7 +124,7 @@ public:
virtual void save_ini(emu_file &file, unsigned indent) const override
{
- file.puts(util::string_format("%2$*1$s%3$s = 1\n", 2 * indent, "", config_name()).c_str());
+ file.puts(util::string_format("%2$*1$s%3$s = 1\n", 2 * indent, "", config_name()));
}
virtual typename Base::type get_type() const override { return Type; }
@@ -203,7 +203,7 @@ public:
virtual void save_ini(emu_file &file, unsigned indent) const override
{
char const *const text(filter_text());
- file.puts(util::string_format("%2$*1$s%3$s = %4$s\n", 2 * indent, "", this->config_name(), text ? text : "").c_str());
+ file.puts(util::string_format("%2$*1$s%3$s = %4$s\n", 2 * indent, "", this->config_name(), text ? text : ""));
}
protected:
@@ -247,7 +247,7 @@ public:
virtual void save_ini(emu_file &file, unsigned indent) const override
{
auto const tail(std::find_if(std::begin(m_filters), std::end(m_filters), [] (typename Base::ptr const &flt) { return !flt; }));
- file.puts(util::string_format("%2$*1$s%3$s = %4$d\n", 2 * indent, "", this->config_name(), std::distance(std::begin(m_filters), tail)).c_str());
+ file.puts(util::string_format("%2$*1$s%3$s = %4$d\n", 2 * indent, "", this->config_name(), std::distance(std::begin(m_filters), tail)));
for (auto it = std::begin(m_filters); tail != it; ++it)
(*it)->save_ini(file, indent + 1);
}
@@ -883,7 +883,7 @@ public:
virtual void save_ini(emu_file &file, unsigned indent) const override
{
char const *const text(filter_text());
- file.puts(util::string_format("%2$*1$s%3$s = %4$s\n", 2 * indent, "", this->config_name(), text ? text : "").c_str());
+ file.puts(util::string_format("%2$*1$s%3$s = %4$s\n", 2 * indent, "", this->config_name(), text ? text : ""));
}
virtual bool apply(ui_system_info const &system) const override