diff options
author | Sebastian Thorarensen <sebth@naju.se> | 2013-10-19 15:38:50 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-10-19 16:11:33 +0200 |
commit | d6553fc6a73ce458aa1fabe78dbb45b5b6a1ac12 (patch) | |
tree | ca5c0edbd15afdb8d11b9a1268c9b0df37776887 /src/ConfigData.cxx | |
parent | fc9014f7ecb486288b8f7d0d376f68b27f60dd6f (diff) | |
download | mpd-d6553fc6a73ce458aa1fabe78dbb45b5b6a1ac12.tar.gz mpd-d6553fc6a73ce458aa1fabe78dbb45b5b6a1ac12.tar.xz mpd-d6553fc6a73ce458aa1fabe78dbb45b5b6a1ac12.zip |
ConfigData: Add support for signed integers
Now config_param::GetBlockValue() can be used to get signed integers
from the configuration.
Diffstat (limited to '')
-rw-r--r-- | src/ConfigData.cxx | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/ConfigData.cxx b/src/ConfigData.cxx index 395d768f6..9712eef3e 100644 --- a/src/ConfigData.cxx +++ b/src/ConfigData.cxx @@ -29,6 +29,17 @@ #include <string.h> #include <stdlib.h> +int +block_param::GetIntValue() const +{ + char *endptr; + long value2 = strtol(value.c_str(), &endptr, 0); + if (*endptr != 0) + FormatFatalError("Not a valid number in line %i", line); + + return value2; +} + unsigned block_param::GetUnsignedValue() const { @@ -120,6 +131,16 @@ config_param::GetBlockPath(const char *name, Error &error) const return GetBlockPath(name, nullptr, error); } +int +config_param::GetBlockValue(const char *name, int default_value) const +{ + const block_param *bp = GetBlockParam(name); + if (bp == nullptr) + return default_value; + + return bp->GetIntValue(); +} + unsigned config_param::GetBlockValue(const char *name, unsigned default_value) const { |