From 6e47e797909564460fbf30372000c8a879e0f891 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 30 Jan 2013 22:25:17 +0100 Subject: ConfigData: move functions into the class --- src/ConfigData.cxx | 41 +++++++++++++++++++---------------------- src/ConfigData.hxx | 20 ++++++++++++-------- src/ConfigFile.cxx | 4 ++-- src/Main.cxx | 3 +-- 4 files changed, 34 insertions(+), 34 deletions(-) (limited to 'src') diff --git a/src/ConfigData.cxx b/src/ConfigData.cxx index 67f93a4ab..7e16c0126 100644 --- a/src/ConfigData.cxx +++ b/src/ConfigData.cxx @@ -39,22 +39,10 @@ config_param::~config_param() g_free(value); } -void -config_add_block_param(struct config_param * param, const char *name, - const char *value, int line) +const block_param * +config_param::GetBlockParam(const char *name) const { - assert(config_get_block_param(param, name) == NULL); - - param->block_params.emplace_back(name, value, line); -} - -const struct block_param * -config_get_block_param(const struct config_param * param, const char *name) -{ - if (param == NULL) - return NULL; - - for (auto &i : param->block_params) { + for (const auto &i : block_params) { if (i.name == name) { i.used = true; return &i; @@ -68,8 +56,10 @@ const char * config_get_block_string(const struct config_param *param, const char *name, const char *default_value) { - const struct block_param *bp = config_get_block_param(param, name); + if (param == nullptr) + return default_value; + const block_param *bp = param->GetBlockParam(name); if (bp == NULL) return default_value; @@ -90,7 +80,10 @@ config_dup_block_path(const struct config_param *param, const char *name, assert(error_r != NULL); assert(*error_r == NULL); - const struct block_param *bp = config_get_block_param(param, name); + if (param == nullptr) + return nullptr; + + const block_param *bp = param->GetBlockParam(name); if (bp == NULL) return NULL; @@ -107,14 +100,15 @@ unsigned config_get_block_unsigned(const struct config_param *param, const char *name, unsigned default_value) { - const struct block_param *bp = config_get_block_param(param, name); - long value; - char *endptr; + if (param == nullptr) + return default_value; + const block_param *bp = param->GetBlockParam(name); if (bp == NULL) return default_value; - value = strtol(bp->value.c_str(), &endptr, 0); + char *endptr; + long value = strtol(bp->value.c_str(), &endptr, 0); if (*endptr != 0) MPD_ERROR("Not a valid number in line %i", bp->line); @@ -128,7 +122,10 @@ bool config_get_block_bool(const struct config_param *param, const char *name, bool default_value) { - const struct block_param *bp = config_get_block_param(param, name); + if (param == nullptr) + return default_value; + + const block_param *bp = param->GetBlockParam(name); bool success, value; if (bp == NULL) diff --git a/src/ConfigData.hxx b/src/ConfigData.hxx index 36e3ea332..93d1092fb 100644 --- a/src/ConfigData.hxx +++ b/src/ConfigData.hxx @@ -68,8 +68,20 @@ struct config_param { config_param(int _line=-1) :value(nullptr), line(_line), used(false) {} + + gcc_nonnull_all config_param(const char *_value, int _line=-1); + ~config_param(); + + gcc_nonnull_all + void AddBlockParam(const char *_name, const char *_value, + int _line=-1) { + block_params.emplace_back(_name, _value, _line); + } + + gcc_nonnull_all gcc_pure + const block_param *GetBlockParam(const char *_name) const; #endif }; @@ -85,14 +97,6 @@ struct ConfigData { extern "C" { #endif -void -config_add_block_param(struct config_param * param, const char *name, - const char *value, int line); - -gcc_pure -const struct block_param * -config_get_block_param(const struct config_param *param, const char *name); - gcc_pure const char * config_get_block_string(const struct config_param *param, const char *name, diff --git a/src/ConfigFile.cxx b/src/ConfigFile.cxx index aea2e58ae..d5b539e7a 100644 --- a/src/ConfigFile.cxx +++ b/src/ConfigFile.cxx @@ -75,7 +75,7 @@ config_read_name_value(struct config_param *param, char *input, unsigned line, return false; } - const struct block_param *bp = config_get_block_param(param, name); + const struct block_param *bp = param->GetBlockParam(name); if (bp != NULL) { g_set_error(error_r, config_quark(), 0, "\"%s\" is duplicate, first defined on line %i", @@ -83,7 +83,7 @@ config_read_name_value(struct config_param *param, char *input, unsigned line, return false; } - config_add_block_param(param, name, value, line); + param->AddBlockParam(name, value, line); return true; } diff --git a/src/Main.cxx b/src/Main.cxx index 613a253b2..7c98c956b 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -190,8 +190,7 @@ glue_db_init_and_load(void) if (param == NULL && path != NULL) { allocated = new config_param("database", path->line); - config_add_block_param(allocated, "path", - path->value, path->line); + allocated->AddBlockParam("path", path->value, path->line); param = allocated; } -- cgit v1.2.3