#include "common.h"
#include "testing.h"
+#if HAVE_KSTAT_H
+#include <kstat.h>
+#endif
+
#if HAVE_LIBKSTAT
kstat_ctl_t *kc;
#endif /* HAVE_LIBKSTAT */
cases[i].fields_num, cases[i].separator);
EXPECT_EQ_INT(cases[i].want_return, status);
EXPECT_EQ_STR(cases[i].want_buffer, buffer);
- }
- /* use (NULL, 0) to determine required buffer size. */
- EXPECT_EQ_INT(3, strjoin(NULL, 0, (char *[]){"a", "b"}, 2, "-"));
+ /* use (NULL, 0) to determine required buffer size. */
+ EXPECT_EQ_INT(cases[i].want_return,
+ strjoin(NULL, 0, cases[i].fields, cases[i].fields_num,
+ cases[i].separator));
+ }
return 0;
}
};
for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) {
- char buffer[32];
+ char buffer[32] = {0};
- strncpy(buffer, cases[i].str, sizeof(buffer));
+ strncpy(buffer, cases[i].str, sizeof(buffer) - 1);
OK(escape_slashes(buffer, sizeof(buffer)) == 0);
EXPECT_EQ_STR(cases[i].want, buffer);
}
};
for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) {
- char buffer[16];
+ char buffer[16] = {0};
- strncpy(buffer, cases[i].str, sizeof(buffer));
+ strncpy(buffer, cases[i].str, sizeof(buffer) - 1);
OK(escape_string(buffer, sizeof(buffer)) == 0);
EXPECT_EQ_STR(cases[i].want, buffer);
}
}
DEF_TEST(strunescape) {
- char buffer[16];
+ char buffer[32] = {0};
int status;
- strncpy(buffer, "foo\\tbar", sizeof(buffer));
+ strncpy(buffer, "foo\\tbar", sizeof(buffer) - 1);
status = strunescape(buffer, sizeof(buffer));
OK(status == 0);
EXPECT_EQ_STR("foo\tbar", buffer);
- strncpy(buffer, "\\tfoo\\r\\n", sizeof(buffer));
+ strncpy(buffer, "\\tfoo\\r\\n", sizeof(buffer) - 1);
status = strunescape(buffer, sizeof(buffer));
OK(status == 0);
EXPECT_EQ_STR("\tfoo\r\n", buffer);
- strncpy(buffer, "With \\\"quotes\\\"", sizeof(buffer));
+ strncpy(buffer, "With \\\"quotes\\\"", sizeof(buffer) - 1);
status = strunescape(buffer, sizeof(buffer));
OK(status == 0);
EXPECT_EQ_STR("With \"quotes\"", buffer);
/* Backslash before null byte */
- strncpy(buffer, "\\tbackslash end\\", sizeof(buffer));
+ strncpy(buffer, "\\tbackslash end\\", sizeof(buffer) - 1);
status = strunescape(buffer, sizeof(buffer));
OK(status != 0);
EXPECT_EQ_STR("\tbackslash end", buffer);
return 0;
/* Backslash at buffer end */
- strncpy(buffer, "\\t3\\56", sizeof(buffer));
+ strncpy(buffer, "\\t3\\56", sizeof(buffer) - 1);
status = strunescape(buffer, 4);
OK(status != 0);
OK(buffer[0] == '\t');
for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) {
data_source_t dsrc = {
- .name = "value", .type = DS_TYPE_GAUGE, .min = 0.0, .max = NAN,
+ .name = "value",
+ .type = DS_TYPE_GAUGE,
+ .min = 0.0,
+ .max = NAN,
};
data_set_t ds = {
- .type = "example", .ds_num = 1, .ds = &dsrc,
+ .type = "example",
+ .ds_num = 1,
+ .ds = &dsrc,
};
value_t v = {
for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) {
cdtime_t t0 = TIME_T_TO_CDTIME_T(cases[i].t0);
value_to_rate_state_t state = {
- .last_value = cases[i].v0, .last_time = t0,
+ .last_value = cases[i].v0,
+ .last_time = t0,
};
gauge_t got;