#include #include #include int cli_parse_ufloat(const char *s, float *out) { char *end; if (NULL == s || '\0' == *s) return 1; errno = 0; float v = strtof(s, &end); if (s == end || ERANGE == errno || '\0' != *end || 0 == isfinite(v) || v < 0.0f) return 1; *out = v; return 0; }