diff options
author | dormando <dormando@rydia.net> | 2017-01-27 14:15:41 -0800 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2017-01-30 14:11:40 -0800 |
commit | 625692972e441381041128bc76c198b0e9c13b52 (patch) | |
tree | 1003920c16da0d1313165ee17be3d443a587023a /util.c | |
parent | 196270fcee4eb35a7968156d96c2386467126965 (diff) | |
download | memcached-625692972e441381041128bc76c198b0e9c13b52.tar.gz |
"lru tune" command for setting LRU parameters
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -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]; |