diff --git a/src/util-strings.h b/src/util-strings.h index 90d62f0..f960c86 100644 --- a/src/util-strings.h +++ b/src/util-strings.h @@ -274,64 +274,3 @@ out: free(numv); return result; } - -struct key_value_str{ - char *key; - char *value; -}; - -struct key_value_double { - double key; - double value; -}; - -static inline ssize_t -kv_double_from_string(const char *string, - const char *pair_separator, - const char *kv_separator, - struct key_value_double **result_out) - -{ - struct key_value_double *result = NULL; - - if (!pair_separator || pair_separator[0] == '\0' || - !kv_separator || kv_separator[0] == '\0') - return -1; - - size_t npairs; - char **pairs = strv_from_string(string, pair_separator, &npairs); - if (!pairs || npairs == 0) - goto error; - - result = zalloc(npairs * sizeof *result); - - for (size_t idx = 0; idx < npairs; idx++) { - char *pair = pairs[idx]; - size_t nelem; - char **kv = strv_from_string(pair, kv_separator, &nelem); - double k, v; - - if (!kv || nelem != 2 || - !safe_atod(kv[0], &k) || - !safe_atod(kv[1], &v)) { - strv_free(kv); - goto error; - } - - result[idx].key = k; - result[idx].value = v; - - strv_free(kv); - } - - strv_free(pairs); - - *result_out = result; - - return npairs; - -error: - strv_free(pairs); - free(result); - return -1; -}