From 4d1eedbaa2be7e9e59f2332d9bf8886b9b634070 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 13 Apr 2010 21:19:07 +0200 Subject: conf: added function config_get_unsigned() --- src/conf.c | 17 +++++++++++++++++ src/conf.h | 4 ++++ 2 files changed, 21 insertions(+) (limited to 'src') diff --git a/src/conf.c b/src/conf.c index cf78bb29c..bb59373af 100644 --- a/src/conf.c +++ b/src/conf.c @@ -503,6 +503,23 @@ config_get_path(const char *name) return param->value = path; } +unsigned +config_get_unsigned(const char *name, unsigned default_value) +{ + const struct config_param *param = config_get_param(name); + long value; + char *endptr; + + if (param == NULL) + return default_value; + + value = strtol(param->value, &endptr, 0); + if (*endptr != 0 || value < 0) + g_error("Not a valid non-negative number in line %i", param->line); + + return (unsigned)value; +} + unsigned config_get_positive(const char *name, unsigned default_value) { diff --git a/src/conf.h b/src/conf.h index 7ffa6e44a..16360feee 100644 --- a/src/conf.h +++ b/src/conf.h @@ -162,6 +162,10 @@ G_GNUC_PURE const char * config_get_path(const char *name); +G_GNUC_PURE +unsigned +config_get_unsigned(const char *name, unsigned default_value); + G_GNUC_PURE unsigned config_get_positive(const char *name, unsigned default_value); -- cgit v1.2.3