src/utils_latency{,_config}.[ch]: Reformat new code with clang-format.
[collectd.git] / src / utils_latency_config.c
index 7504aaf..f99fe58 100644 (file)
 #include "common.h"
 #include "utils_latency_config.h"
 
-int latency_config_add_percentile (const char *plugin, latency_config_t *cl,
-    oconfig_item_t *ci)
-{
-  if ((ci->values_num != 1) || (ci->values[0].type != OCONFIG_TYPE_NUMBER))
-  {
-    ERROR ("%s plugin: \"%s\" requires exactly one numeric argument.",
-             plugin, ci->key);
+int latency_config_add_percentile(const char *plugin, latency_config_t *cl,
+                                  oconfig_item_t *ci) {
+  if ((ci->values_num != 1) || (ci->values[0].type != OCONFIG_TYPE_NUMBER)) {
+    ERROR("%s plugin: \"%s\" requires exactly one numeric argument.", plugin,
+          ci->key);
     return (-1);
   }
 
   double percent = ci->values[0].value.number;
   double *tmp;
 
-  if ((percent <= 0.0) || (percent >= 100))
-  {
-    ERROR ("%s plugin: The value for \"%s\" must be between 0 and 100, "
-        "exclusively.", plugin, ci->key);
+  if ((percent <= 0.0) || (percent >= 100)) {
+    ERROR("%s plugin: The value for \"%s\" must be between 0 and 100, "
+          "exclusively.",
+          plugin, ci->key);
     return (ERANGE);
   }
 
-  tmp = realloc (cl->percentile,
-      sizeof (*cl->percentile) * (cl->percentile_num + 1));
-  if (tmp == NULL)
-  {
-    ERROR ("%s plugin: realloc failed.", plugin);
+  tmp = realloc(cl->percentile,
+                sizeof(*cl->percentile) * (cl->percentile_num + 1));
+  if (tmp == NULL) {
+    ERROR("%s plugin: realloc failed.", plugin);
     return (ENOMEM);
   }
   cl->percentile = tmp;
@@ -63,31 +60,24 @@ int latency_config_add_percentile (const char *plugin, latency_config_t *cl,
   return (0);
 } /* int latency_config_add_percentile */
 
-int latency_config_add_rate (const char *plugin, latency_config_t *cl,
-    oconfig_item_t *ci)
-{
-
-  if ((ci->values_num != 2)
-    ||(ci->values[0].type != OCONFIG_TYPE_NUMBER)
-    ||(ci->values[1].type != OCONFIG_TYPE_NUMBER))
-  {
-    ERROR ("%s plugin: \"%s\" requires exactly two numeric arguments.",
-             plugin, ci->key);
+int latency_config_add_rate(const char *plugin, latency_config_t *cl,
+                            oconfig_item_t *ci) {
+  if ((ci->values_num != 2) || (ci->values[0].type != OCONFIG_TYPE_NUMBER) ||
+      (ci->values[1].type != OCONFIG_TYPE_NUMBER)) {
+    ERROR("%s plugin: \"%s\" requires exactly two numeric arguments.", plugin,
+          ci->key);
     return (-1);
   }
 
   if (ci->values[1].value.number &&
-      ci->values[1].value.number <= ci->values[0].value.number)
-  {
-    ERROR ("%s plugin: MIN must be less than MAX in \"%s\".",
-             plugin, ci->key);
+      ci->values[1].value.number <= ci->values[0].value.number) {
+    ERROR("%s plugin: MIN must be less than MAX in \"%s\".", plugin, ci->key);
     return (-1);
   }
 
-  if (ci->values[0].value.number < 0.001)
-  {
-    ERROR ("%s plugin: MIN must be greater or equal to 0.001 in \"%s\".",
-             plugin, ci->key);
+  if (ci->values[0].value.number < 0.001) {
+    ERROR("%s plugin: MIN must be greater or equal to 0.001 in \"%s\".", plugin,
+          ci->key);
     return (-1);
   }
 
@@ -95,11 +85,9 @@ int latency_config_add_rate (const char *plugin, latency_config_t *cl,
   cdtime_t upper = DOUBLE_TO_CDTIME_T(ci->values[1].value.number);
   cdtime_t *tmp;
 
-  tmp = realloc (cl->rates,
-      sizeof (*cl->rates) * (cl->rates_num + 1) * 2);
-  if (tmp == NULL)
-  {
-    ERROR ("%s plugin: realloc failed.", plugin);
+  tmp = realloc(cl->rates, sizeof(*cl->rates) * (cl->rates_num + 1) * 2);
+  if (tmp == NULL) {
+    ERROR("%s plugin: realloc failed.", plugin);
     return (ENOMEM);
   }
   cl->rates = tmp;
@@ -110,54 +98,57 @@ int latency_config_add_rate (const char *plugin, latency_config_t *cl,
   return (0);
 } /* int latency_config_add_rate */
 
+int latency_config_copy(latency_config_t *dst, const latency_config_t src) {
+  *dst = (latency_config_t){
+      .rates = NULL,
+      .rates_num = src.rates_num,
+      .rates_type = NULL,
+      .percentile = NULL,
+      .percentile_num = src.percentile_num,
+      .percentile_type = NULL,
+  };
 
-int latency_config_copy (latency_config_t *dst, const latency_config_t src)
-{
   /* Copy percentiles configuration */
   dst->percentile_num = src.percentile_num;
-  dst->percentile = malloc(sizeof (*dst->percentile) * (src.percentile_num));
+  dst->percentile = calloc(src.percentile_num, sizeof(*dst->percentile));
   if (dst->percentile == NULL)
-    goto nomem;
+    return (-1);
 
-  memcpy (dst->percentile, src.percentile,
-          (sizeof (*dst->percentile) * (src.percentile_num)));
+  memcpy(dst->percentile, src.percentile,
+         (sizeof(*dst->percentile) * (src.percentile_num)));
 
-  if (src.percentile_type != NULL)
-  {
+  if (src.percentile_type != NULL) {
     dst->percentile_type = strdup(src.percentile_type);
-    if (dst->percentile_type == NULL)
-      goto nomem;
+    if (dst->percentile_type == NULL) {
+      latency_config_free(*dst);
+      return (-1);
+    }
   }
 
   /* Copy rates configuration */
   dst->rates_num = src.rates_num;
-  dst->rates = malloc(sizeof (*dst->rates) * (src.rates_num) * 2);
-  if (dst->rates == NULL)
-    goto nomem;
+  dst->rates = calloc(src.rates_num * 2, sizeof(*dst->rates));
+  if (dst->rates == NULL) {
+    latency_config_free(*dst);
+    return (-1);
+  }
 
-  memcpy (dst->rates, src.rates,
-          (sizeof (*dst->rates) * (src.rates_num) * 2));
+  memcpy(dst->rates, src.rates, (sizeof(*dst->rates) * (src.rates_num) * 2));
 
-  if (src.rates_type != NULL)
-  {
+  if (src.rates_type != NULL) {
     dst->rates_type = strdup(src.rates_type);
-    if (dst->rates_type == NULL)
-      goto nomem;
+    if (dst->rates_type == NULL) {
+      latency_config_free(*dst);
+      return (-1);
+    }
   }
 
   return (0);
-nomem:
-  free (dst->rates);
-  free (dst->rates_type);
-  free (dst->percentile);
-  free (dst->percentile_type);
-  return (-1);
 } /* int latency_config_copy */
 
-void latency_config_free (latency_config_t lc)
-{
-  sfree (lc.rates);
-  sfree (lc.rates_type);
-  sfree (lc.percentile);
-  sfree (lc.percentile_type);
+void latency_config_free(latency_config_t lc) {
+  sfree(lc.rates);
+  sfree(lc.rates_type);
+  sfree(lc.percentile);
+  sfree(lc.percentile_type);
 } /* void latency_config_free */