X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=src%2Fcore%2Ftimeseries.c;h=9574ee8a75fd13b188b091af15ad2e52654c5803;hp=01854aa5779778f42e4bbdaf45bbad536a4e40d9;hb=288e7cfdab0c31ff49d9bc10ec51ceb32f476014;hpb=d67b2c8c66c51593bd9b6b636577825b24d7d46e diff --git a/src/core/timeseries.c b/src/core/timeseries.c index 01854aa..9574ee8 100644 --- a/src/core/timeseries.c +++ b/src/core/timeseries.c @@ -31,48 +31,12 @@ #include "sysdb.h" #include "core/timeseries.h" +#include "utils/strings.h" #include #include #include -static int -copy_strings(char ***out, size_t *out_len, - const char * const *in, size_t in_len) -{ - size_t i; - - *out = calloc(in_len, sizeof(**out)); - if (! *out) - return -1; - - *out_len = in_len; - for (i = 0; i < in_len; ++i) { - (*out)[i] = strdup(in[i]); - if (! (*out)[i]) - return -1; - } - return 0; -} /* copy_strings */ - -static void -free_strings(char ***strings, size_t *strings_len) -{ - size_t i; - - if (*strings) { - for (i = 0; i < *strings_len; ++i) { - if ((*strings)[i]) - free((*strings)[i]); - (*strings)[i] = NULL; - } - free(*strings); - } - - *strings = NULL; - *strings_len = 0; -} /* free_strings */ - /* * public API */ @@ -86,7 +50,7 @@ sdb_timeseries_info_create(size_t data_names_len, const char * const *data_names if (! ts_info) return NULL; - if (copy_strings(&ts_info->data_names, &ts_info->data_names_len, + if (stringv_copy(&ts_info->data_names, &ts_info->data_names_len, data_names, data_names_len)) { sdb_timeseries_info_destroy(ts_info); return NULL; @@ -100,7 +64,7 @@ sdb_timeseries_info_destroy(sdb_timeseries_info_t *ts_info) if (! ts_info) return; - free_strings(&ts_info->data_names, &ts_info->data_names_len); + stringv_free(&ts_info->data_names, &ts_info->data_names_len); free(ts_info); } /* sdb_timeseries_info_destroy */ @@ -115,7 +79,7 @@ sdb_timeseries_create(size_t data_names_len, const char * const *data_names, if (! ts) return NULL; - if (copy_strings(&ts->data_names, &ts->data_names_len, + if (stringv_copy(&ts->data_names, &ts->data_names_len, data_names, data_names_len)) { sdb_timeseries_destroy(ts); return NULL; @@ -156,7 +120,7 @@ sdb_timeseries_destroy(sdb_timeseries_t *ts) ts->data = NULL; ts->data_len = 0; - free_strings(&ts->data_names, &ts->data_names_len); + stringv_free(&ts->data_names, &ts->data_names_len); free(ts); } /* sdb_timeseries_destroy */