Merge pull request #2242 from npwoods/prune_options_cruft

Pruned out some cruft in src/lib/util/options.[cpp|h]
This commit is contained in:
ajrhacker 2017-04-17 10:56:01 -04:00 committed by GitHub
commit bf3d4f0f06
3 changed files with 14 additions and 39 deletions

View File

@ -202,7 +202,7 @@ void cli_frontend::start_execution(mame_machine_manager *manager, std::vector<st
if (!mame_options::parse_command_line(m_options, args, option_errors)) if (!mame_options::parse_command_line(m_options, args, option_errors))
{ {
// if we failed, check for no command and a system name first; in that case error on the name // if we failed, check for no command and a system name first; in that case error on the name
if (*(m_options.command()) == 0 && mame_options::system(m_options) == nullptr && *(m_options.system_name()) != 0) if (m_options.command().empty() && mame_options::system(m_options) == nullptr && *(m_options.system_name()) != 0)
throw emu_fatalerror(EMU_ERR_NO_SUCH_GAME, "Unknown system '%s'", m_options.system_name()); throw emu_fatalerror(EMU_ERR_NO_SUCH_GAME, "Unknown system '%s'", m_options.system_name());
// otherwise, error on the options // otherwise, error on the options
@ -215,7 +215,7 @@ void cli_frontend::start_execution(mame_machine_manager *manager, std::vector<st
std::string exename = core_filename_extract_base(args[0], true); std::string exename = core_filename_extract_base(args[0], true);
// if we have a command, execute that // if we have a command, execute that
if (*(m_options.command()) != 0) if (!m_options.command().empty())
{ {
execute_commands(exename.c_str()); execute_commands(exename.c_str());
return; return;
@ -1329,14 +1329,14 @@ void cli_frontend::romident(const char *filename)
void cli_frontend::execute_commands(const char *exename) void cli_frontend::execute_commands(const char *exename)
{ {
// help? // help?
if (strcmp(m_options.command(), CLICOMMAND_HELP) == 0) if (m_options.command() == CLICOMMAND_HELP)
{ {
display_help(exename); display_help(exename);
return; return;
} }
// showusage? // showusage?
if (strcmp(m_options.command(), CLICOMMAND_SHOWUSAGE) == 0) if (m_options.command() == CLICOMMAND_SHOWUSAGE)
{ {
osd_printf_info("Usage: %s [machine] [media] [software] [options]",exename); osd_printf_info("Usage: %s [machine] [media] [software] [options]",exename);
osd_printf_info("\n\nOptions:\n%s", m_options.output_help().c_str()); osd_printf_info("\n\nOptions:\n%s", m_options.output_help().c_str());
@ -1344,7 +1344,7 @@ void cli_frontend::execute_commands(const char *exename)
} }
// validate? // validate?
if (strcmp(m_options.command(), CLICOMMAND_VALIDATE) == 0) if (m_options.command() == CLICOMMAND_VALIDATE)
{ {
validity_checker valid(m_options); validity_checker valid(m_options);
valid.set_validate_all(true); valid.set_validate_all(true);
@ -1362,7 +1362,7 @@ void cli_frontend::execute_commands(const char *exename)
osd_printf_error("%s\n", option_errors.c_str()); osd_printf_error("%s\n", option_errors.c_str());
// createconfig? // createconfig?
if (strcmp(m_options.command(), CLICOMMAND_CREATECONFIG) == 0) if (m_options.command() == CLICOMMAND_CREATECONFIG)
{ {
// attempt to open the output file // attempt to open the output file
emu_file file(OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS); emu_file file(OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS);
@ -1398,7 +1398,7 @@ void cli_frontend::execute_commands(const char *exename)
} }
// showconfig? // showconfig?
if (strcmp(m_options.command(), CLICOMMAND_SHOWCONFIG) == 0) if (m_options.command() == CLICOMMAND_SHOWCONFIG)
{ {
// print the INI text // print the INI text
printf("%s\n", m_options.output_ini().c_str()); printf("%s\n", m_options.output_ini().c_str());
@ -1435,7 +1435,7 @@ void cli_frontend::execute_commands(const char *exename)
// find the command // find the command
for (auto & info_command : info_commands) for (auto & info_command : info_commands)
{ {
if (strcmp(m_options.command(), info_command.option) == 0) if (m_options.command() == info_command.option)
{ {
// parse any relevant INI files before proceeding // parse any relevant INI files before proceeding
const char *sysname = m_options.system_name(); const char *sysname = m_options.system_name();
@ -1444,9 +1444,9 @@ void cli_frontend::execute_commands(const char *exename)
} }
} }
if (!m_osd.execute_command(m_options.command())) if (!m_osd.execute_command(m_options.command().c_str()))
// if we get here, we don't know what has been requested // if we get here, we don't know what has been requested
throw emu_fatalerror(EMU_ERR_INVALID_CONFIG, "Unknown command '%s' specified", m_options.command()); throw emu_fatalerror(EMU_ERR_INVALID_CONFIG, "Unknown command '%s' specified", m_options.command().c_str());
} }

View File

@ -56,7 +56,6 @@ const char *const core_options::s_option_unadorned[MAX_UNADORNED_OPTIONS] =
core_options::entry::entry(const char *name, const char *description, uint32_t flags, const char *defvalue) core_options::entry::entry(const char *name, const char *description, uint32_t flags, const char *defvalue)
: m_next(nullptr), : m_next(nullptr),
m_flags(flags), m_flags(flags),
m_seqid(0),
m_error_reported(false), m_error_reported(false),
m_priority(OPTION_PRIORITY_DEFAULT), m_priority(OPTION_PRIORITY_DEFAULT),
m_description(description), m_description(description),
@ -111,7 +110,6 @@ void core_options::entry::set_value(const char *newdata, int priority)
// set the data and priority, then bump the sequence // set the data and priority, then bump the sequence
m_data = newdata; m_data = newdata;
m_priority = priority; m_priority = priority;
m_seqid++;
} }
@ -683,16 +681,6 @@ int core_options::priority(const char *name) const
} }
//-------------------------------------------------
// seqid - return the seqid for a given option
//-------------------------------------------------
uint32_t core_options::seqid(const char *name) const
{
auto curentry = m_entrymap.find(name);
return (curentry != m_entrymap.end()) ? curentry->second->seqid() : 0;
}
//------------------------------------------------- //-------------------------------------------------
// exists - return if option exists in list // exists - return if option exists in list
//------------------------------------------------- //-------------------------------------------------
@ -702,16 +690,7 @@ bool core_options::exists(const char *name) const
return (m_entrymap.find(name) != m_entrymap.end()); return (m_entrymap.find(name) != m_entrymap.end());
} }
//-------------------------------------------------
// is_changed - return if option have been marked
// changed
//-------------------------------------------------
bool core_options::is_changed(const char *name) const
{
auto curentry = m_entrymap.find(name);
return (curentry != m_entrymap.end()) ? curentry->second->is_changed() : false;
}
//------------------------------------------------- //-------------------------------------------------
// set_value - set the raw option value // set_value - set the raw option value
//------------------------------------------------- //-------------------------------------------------

View File

@ -8,8 +8,8 @@
***************************************************************************/ ***************************************************************************/
#ifndef __OPTIONS_H__ #ifndef MAME_LIB_UTIL_OPTIONS_H
#define __OPTIONS_H__ #define MAME_LIB_UTIL_OPTIONS_H
#include "corefile.h" #include "corefile.h"
#include <unordered_map> #include <unordered_map>
@ -81,7 +81,6 @@ public:
const char *default_value() const { return m_defdata.c_str(); } const char *default_value() const { return m_defdata.c_str(); }
const char *minimum() const { return m_minimum.c_str(); } const char *minimum() const { return m_minimum.c_str(); }
const char *maximum() const { return m_maximum.c_str(); } const char *maximum() const { return m_maximum.c_str(); }
uint32_t seqid() const { return m_seqid; }
int type() const { return (m_flags & OPTION_TYPE_MASK); } int type() const { return (m_flags & OPTION_TYPE_MASK); }
uint32_t flags() const { return m_flags; } uint32_t flags() const { return m_flags; }
bool is_header() const { return type() == OPTION_HEADER; } bool is_header() const { return type() == OPTION_HEADER; }
@ -103,7 +102,6 @@ public:
// internal state // internal state
entry * m_next; // link to the next data entry * m_next; // link to the next data
uint32_t m_flags; // flags from the entry uint32_t m_flags; // flags from the entry
uint32_t m_seqid; // sequence ID; bumped on each change
bool m_error_reported; // have we reported an error on this option yet? bool m_error_reported; // have we reported an error on this option yet?
int m_priority; // priority of the data set int m_priority; // priority of the data set
const char * m_description; // description for this item const char * m_description; // description for this item
@ -130,7 +128,7 @@ public:
// getters // getters
entry *first() const { return m_entrylist.first(); } entry *first() const { return m_entrylist.first(); }
const char *command() const { return m_command.c_str(); } const std::string &command() const { return m_command; }
entry *get_entry(const char *name) const; entry *get_entry(const char *name) const;
// range iterators // range iterators
@ -165,9 +163,7 @@ public:
bool bool_value(const char *name) const { return (atoi(value(name)) != 0); } bool bool_value(const char *name) const { return (atoi(value(name)) != 0); }
int int_value(const char *name) const { return atoi(value(name)); } int int_value(const char *name) const { return atoi(value(name)); }
float float_value(const char *name) const { return atof(value(name)); } float float_value(const char *name) const { return atof(value(name)); }
uint32_t seqid(const char *name) const;
bool exists(const char *name) const; bool exists(const char *name) const;
bool is_changed(const char *name) const;
// setting // setting
bool set_value(const char *name, const char *value, int priority, std::string &error_string); bool set_value(const char *name, const char *value, int priority, std::string &error_string);
@ -210,4 +206,4 @@ private:
#endif /* __OPTIONS_H__ */ #endif // MAME_LIB_UTIL_OPTIONS_H