From 625692972e441381041128bc76c198b0e9c13b52 Mon Sep 17 00:00:00 2001 From: dormando Date: Fri, 27 Jan 2017 14:15:41 -0800 Subject: "lru tune" command for setting LRU parameters --- util.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'util.c') diff --git a/util.c b/util.c index e9ec591..f6a3d91 100644 --- a/util.c +++ b/util.c @@ -134,6 +134,23 @@ bool safe_strtol(const char *str, int32_t *out) { return false; } +bool safe_strtod(const char *str, double *out) { + assert(out != NULL); + errno = 0; + *out = 0; + char *endptr; + double d = strtod(str, &endptr); + if ((errno == ERANGE) || (str == endptr)) { + return false; + } + + if (xisspace(*endptr) || (*endptr == '\0' && endptr != str)) { + *out = d; + return true; + } + return false; +} + void vperror(const char *fmt, ...) { int old_errno = errno; char buf[1024]; -- cgit v1.2.1