From a49b6f02e3f4f3fd86b774b7c3dc18e4994fa81b Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 30 Jun 2011 20:34:47 +0000 Subject: [PATCH] support infinity/forever for time value in configuration --- src/util/configuration.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/util/configuration.c b/src/util/configuration.c index 4aa5fed5a..978765970 100644 --- a/src/util/configuration.c +++ b/src/util/configuration.c @@ -690,13 +690,22 @@ GNUNET_CONFIGURATION_get_value_time (const struct GNUNET_CONFIGURATION_Handle const char *option, struct GNUNET_TIME_Relative *time) { + struct ConfigEntry *e; unsigned long long num; - int ret; - ret = GNUNET_CONFIGURATION_get_value_number (cfg, section, option, &num); - if (ret == GNUNET_OK) - time->rel_value = (uint64_t) num; - return ret; + e = findEntry (cfg, section, option); + if (e == NULL) + return GNUNET_SYSERR; + if ( (0 == strcasecmp (e->val, "infinity")) || + (0 == strcasecmp (e->val, "forever")) ) + { + *time = GNUNET_TIME_UNIT_FOREVER_REL; + return GNUNET_OK; + } + if (1 != SSCANF (e->val, "%llu", &num)) + return GNUNET_SYSERR; + time->rel_value = (uint64_t) num; + return GNUNET_OK; } -- 2.25.1