projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DSType latency: Improved after PR code review
[collectd.git]
/
src
/
utils_latency_config.c
diff --git
a/src/utils_latency_config.c
b/src/utils_latency_config.c
index
7504aaf
..
2121e54
100644
(file)
--- a/
src/utils_latency_config.c
+++ b/
src/utils_latency_config.c
@@
-29,13
+29,13
@@
#include "common.h"
#include "utils_latency_config.h"
#include "common.h"
#include "utils_latency_config.h"
-int latency_config_add_percentile
(const char *plugin, latency_config_t *cl,
- oconfig_item_t *ci)
+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))
{
{
if ((ci->values_num != 1) || (ci->values[0].type != OCONFIG_TYPE_NUMBER))
{
- ERROR
("%s plugin: \"%s\" requires exactly one numeric argument."
,
-
plugin,
ci->key);
+ ERROR
("%s plugin: \"%s\" requires exactly one numeric argument.", plugin
,
+ ci->key);
return (-1);
}
return (-1);
}
@@
-44,16
+44,17
@@
int latency_config_add_percentile (const char *plugin, latency_config_t *cl,
if ((percent <= 0.0) || (percent >= 100))
{
if ((percent <= 0.0) || (percent >= 100))
{
- ERROR ("%s plugin: The value for \"%s\" must be between 0 and 100, "
- "exclusively.", plugin, ci->key);
+ ERROR("%s plugin: The value for \"%s\" must be between 0 and 100, "
+ "exclusively.",
+ plugin, ci->key);
return (ERANGE);
}
return (ERANGE);
}
- tmp = realloc
(cl->percentile,
-
sizeof
(*cl->percentile) * (cl->percentile_num + 1));
+ tmp = realloc(cl->percentile,
+
sizeof
(*cl->percentile) * (cl->percentile_num + 1));
if (tmp == NULL)
{
if (tmp == NULL)
{
- ERROR
("%s plugin: realloc failed.", plugin);
+ ERROR("%s plugin: realloc failed.", plugin);
return (ENOMEM);
}
cl->percentile = tmp;
return (ENOMEM);
}
cl->percentile = tmp;
@@
-63,31
+64,29
@@
int latency_config_add_percentile (const char *plugin, latency_config_t *cl,
return (0);
} /* int latency_config_add_percentile */
return (0);
} /* int latency_config_add_percentile */
-int latency_config_add_rate
(const char *plugin, latency_config_t *cl,
- oconfig_item_t *ci)
+int latency_config_add_rate(const char *plugin, latency_config_t *cl,
+
oconfig_item_t *ci)
{
{
-
if ((ci->values_num != 2)
if ((ci->values_num != 2)
-
||
(ci->values[0].type != OCONFIG_TYPE_NUMBER)
-
||
(ci->values[1].type != OCONFIG_TYPE_NUMBER))
+
||
(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);
+ 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)
{
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);
+ ERROR("%s plugin: MIN must be less than MAX in \"%s\".", plugin, ci->key);
return (-1);
}
if (ci->values[0].value.number < 0.001)
{
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);
+ ERROR
("%s plugin: MIN must be greater or equal to 0.001 in \"%s\".", plugin
,
+ ci->key);
return (-1);
}
return (-1);
}
@@
-95,11
+94,10
@@
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;
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);
+ tmp = realloc(cl->rates, sizeof(*cl->rates) * (cl->rates_num + 1) * 2);
if (tmp == NULL)
{
if (tmp == NULL)
{
- ERROR
("%s plugin: realloc failed.", plugin);
+ ERROR("%s plugin: realloc failed.", plugin);
return (ENOMEM);
}
cl->rates = tmp;
return (ENOMEM);
}
cl->rates = tmp;
@@
-110,54
+108,63
@@
int latency_config_add_rate (const char *plugin, latency_config_t *cl,
return (0);
} /* int latency_config_add_rate */
return (0);
} /* int latency_config_add_rate */
-
-int latency_config_copy (latency_config_t *dst, const latency_config_t src)
+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,
+ };
+
/* Copy percentiles configuration */
dst->percentile_num = src.percentile_num;
/* 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)
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)
{
dst->percentile_type = strdup(src.percentile_type);
if (dst->percentile_type == NULL)
if (src.percentile_type != NULL)
{
dst->percentile_type = strdup(src.percentile_type);
if (dst->percentile_type == NULL)
- goto nomem;
+ {
+ latency_config_free(*dst);
+ return (-1);
+ }
}
/* Copy rates configuration */
dst->rates_num = src.rates_num;
}
/* Copy rates configuration */
dst->rates_num = src.rates_num;
- dst->rates =
malloc(sizeof (*dst->rates) * (src.rates_num) * 2
);
+ dst->rates =
calloc(src.rates_num * 2, sizeof(*dst->rates)
);
if (dst->rates == NULL)
if (dst->rates == NULL)
- goto nomem;
+ {
+ 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)
{
dst->rates_type = strdup(src.rates_type);
if (dst->rates_type == NULL)
if (src.rates_type != NULL)
{
dst->rates_type = strdup(src.rates_type);
if (dst->rates_type == NULL)
- goto nomem;
+ {
+ latency_config_free(*dst);
+ return (-1);
+ }
}
return (0);
}
return (0);
-nomem:
- free (dst->rates);
- free (dst->rates_type);
- free (dst->percentile);
- free (dst->percentile_type);
- return (-1);
} /* int latency_config_copy */
} /* 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 */
} /* void latency_config_free */