diff --git a/src/settings.cpp b/src/settings.cpp index 051b8620d6..8b48f7a639 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -118,8 +118,8 @@ static auto &SecretSettingTables() return _secrets_setting_tables; } -typedef void SettingDescProc(IniFile &ini, const SettingTable &desc, const char *grpname, void *object, bool only_startup); -typedef void SettingDescProcList(IniFile &ini, const char *grpname, StringList &list); +using SettingDescProc = void(IniFile &ini, const SettingTable &desc, std::string_view grpname, void *object, bool only_startup); +using SettingDescProcList = void(IniFile &ini, std::string_view grpname, StringList &list); static bool IsSignedVarMemType(VarType vt) { @@ -626,7 +626,7 @@ const std::string &StringSettingDesc::Read(const void *object) const * @param object pointer to the object been loaded * @param only_startup load only the startup settings set */ -static void IniLoadSettings(IniFile &ini, const SettingTable &settings_table, const char *grpname, void *object, bool only_startup) +static void IniLoadSettings(IniFile &ini, const SettingTable &settings_table, std::string_view grpname, void *object, bool only_startup) { const IniGroup *group; const IniGroup *group_def = ini.GetGroup(grpname); @@ -706,7 +706,7 @@ void ListSettingDesc::ParseValue(const IniItem *item, void *object) const * values are reloaded when saving). If settings indeed have changed, we get * these and save them. */ -static void IniSaveSettings(IniFile &ini, const SettingTable &settings_table, const char *grpname, void *object, bool) +static void IniSaveSettings(IniFile &ini, const SettingTable &settings_table, std::string_view grpname, void *object, bool) { IniGroup *group_def = nullptr, *group; @@ -836,7 +836,7 @@ void ListSettingDesc::ResetToDefault(void *) const * @param grpname character string identifying the section-header of the ini file that will be parsed * @param list new list with entries of the given section */ -static void IniLoadSettingList(IniFile &ini, const char *grpname, StringList &list) +static void IniLoadSettingList(IniFile &ini, std::string_view grpname, StringList &list) { const IniGroup *group = ini.GetGroup(grpname); @@ -858,7 +858,7 @@ static void IniLoadSettingList(IniFile &ini, const char *grpname, StringList &li * @param list pointer to an string(pointer) array that will be used as the * source to be saved into the relevant ini section */ -static void IniSaveSettingList(IniFile &ini, const char *grpname, StringList &list) +static void IniSaveSettingList(IniFile &ini, std::string_view grpname, StringList &list) { IniGroup &group = ini.GetOrCreateGroup(grpname); group.Clear(); @@ -874,7 +874,7 @@ static void IniSaveSettingList(IniFile &ini, const char *grpname, StringList &li * @param grpname character string identifying the section-header of the ini file that will be parsed * @param desc Destination WindowDesc */ -void IniLoadWindowSettings(IniFile &ini, const char *grpname, WindowDesc *desc) +void IniLoadWindowSettings(IniFile &ini, std::string_view grpname, WindowDesc *desc) { IniLoadSettings(ini, _window_settings, grpname, desc, false); } @@ -885,7 +885,7 @@ void IniLoadWindowSettings(IniFile &ini, const char *grpname, WindowDesc *desc) * @param grpname character string identifying the section-header of the ini file * @param desc Source WindowDesc */ -void IniSaveWindowSettings(IniFile &ini, const char *grpname, WindowDesc *desc) +void IniSaveWindowSettings(IniFile &ini, std::string_view grpname, WindowDesc *desc) { IniSaveSettings(ini, _window_settings, grpname, desc, false); } @@ -952,7 +952,7 @@ static void ValidateSettings() } } -static void AILoadConfig(const IniFile &ini, const char *grpname) +static void AILoadConfig(const IniFile &ini, std::string_view grpname) { const IniGroup *group = ini.GetGroup(grpname); @@ -981,7 +981,7 @@ static void AILoadConfig(const IniFile &ini, const char *grpname) } } -static void GameLoadConfig(const IniFile &ini, const char *grpname) +static void GameLoadConfig(const IniFile &ini, std::string_view grpname) { const IniGroup *group = ini.GetGroup(grpname); @@ -1044,7 +1044,7 @@ static void GraphicsSetLoadConfig(IniFile &ini) * @param grpname Group name containing the configuration of the GRF. * @param is_static GRF is static. */ -static GRFConfigList GRFLoadConfig(const IniFile &ini, const char *grpname, bool is_static) +static GRFConfigList GRFLoadConfig(const IniFile &ini, std::string_view grpname, bool is_static) { const IniGroup *group = ini.GetGroup(grpname); GRFConfigList list; @@ -1165,7 +1165,7 @@ static IniFileVersion LoadVersionFromConfig(const IniFile &ini) return static_cast(version); } -static void AISaveConfig(IniFile &ini, const char *grpname) +static void AISaveConfig(IniFile &ini, std::string_view grpname) { IniGroup &group = ini.GetOrCreateGroup(grpname); group.Clear(); @@ -1185,7 +1185,7 @@ static void AISaveConfig(IniFile &ini, const char *grpname) } } -static void GameSaveConfig(IniFile &ini, const char *grpname) +static void GameSaveConfig(IniFile &ini, std::string_view grpname) { IniGroup &group = ini.GetOrCreateGroup(grpname); group.Clear(); @@ -1237,7 +1237,7 @@ static void GraphicsSetSaveConfig(IniFile &ini) } /* Save a GRF configuration to the given group name */ -static void GRFSaveConfig(IniFile &ini, const char *grpname, const GRFConfigList &list) +static void GRFSaveConfig(IniFile &ini, std::string_view grpname, const GRFConfigList &list) { IniGroup &group = ini.GetOrCreateGroup(grpname); group.Clear(); @@ -1547,7 +1547,7 @@ StringList GetGRFPresetList() * @return NewGRF configuration. * @see GetGRFPresetList */ -GRFConfigList LoadGRFPresetFromConfig(const char *config_name) +GRFConfigList LoadGRFPresetFromConfig(std::string_view config_name) { std::string section("preset-"); section += config_name; @@ -1564,7 +1564,7 @@ GRFConfigList LoadGRFPresetFromConfig(const char *config_name) * @param config NewGRF configuration to save. * @see GetGRFPresetList */ -void SaveGRFPresetToConfig(const char *config_name, GRFConfigList &config) +void SaveGRFPresetToConfig(std::string_view config_name, GRFConfigList &config) { std::string section("preset-"); section += config_name; @@ -1578,7 +1578,7 @@ void SaveGRFPresetToConfig(const char *config_name, GRFConfigList &config) * Delete a NewGRF configuration by preset name. * @param config_name Name of the preset. */ -void DeleteGRFPresetFromConfig(const char *config_name) +void DeleteGRFPresetFromConfig(std::string_view config_name) { std::string section("preset-"); section += config_name; diff --git a/src/settings_func.h b/src/settings_func.h index d08190d0f8..8764e9cba7 100644 --- a/src/settings_func.h +++ b/src/settings_func.h @@ -25,13 +25,13 @@ void IConsoleListSettings(std::string_view prefilter); void LoadFromConfig(bool minimal = false); void SaveToConfig(); -void IniLoadWindowSettings(IniFile &ini, const char *grpname, WindowDesc *desc); -void IniSaveWindowSettings(IniFile &ini, const char *grpname, WindowDesc *desc); +void IniLoadWindowSettings(IniFile &ini, std::string_view grpname, WindowDesc *desc); +void IniSaveWindowSettings(IniFile &ini, std::string_view grpname, WindowDesc *desc); StringList GetGRFPresetList(); -GRFConfigList LoadGRFPresetFromConfig(const char *config_name); -void SaveGRFPresetToConfig(const char *config_name, GRFConfigList &config); -void DeleteGRFPresetFromConfig(const char *config_name); +GRFConfigList LoadGRFPresetFromConfig(std::string_view config_name); +void SaveGRFPresetToConfig(std::string_view config_name, GRFConfigList &config); +void DeleteGRFPresetFromConfig(std::string_view config_name); void SetDefaultCompanySettings(CompanyID cid);