@@ -326,51 +326,51 @@ int dcb_set_attribute_bare(struct dcb *dcb, int command, const char *dev,
void dcb_print_array_u8(const __u8 *array, size_t size)
{
- SPRINT_BUF(b);
size_t i;
for (i = 0; i < size; i++) {
- snprintf(b, sizeof(b), "%zd:%%d ", i);
- print_uint(PRINT_ANY, NULL, b, array[i]);
+ print_uint(PRINT_JSON, NULL, NULL, array[i]);
+ print_uint(PRINT_FP, NULL, "%zd:", i);
+ print_uint(PRINT_FP, NULL, "%d ", array[i]);
}
}
void dcb_print_array_u64(const __u64 *array, size_t size)
{
- SPRINT_BUF(b);
size_t i;
for (i = 0; i < size; i++) {
- snprintf(b, sizeof(b), "%zd:%%" PRIu64 " ", i);
- print_u64(PRINT_ANY, NULL, b, array[i]);
+ print_u64(PRINT_JSON, NULL, NULL, array[i]);
+ print_uint(PRINT_FP, NULL, "%zd:", i);
+ print_u64(PRINT_FP, NULL, "%" PRIu64 " ", array[i]);
}
}
void dcb_print_array_on_off(const __u8 *array, size_t size)
{
- SPRINT_BUF(b);
size_t i;
for (i = 0; i < size; i++) {
- snprintf(b, sizeof(b), "%zd:%%s ", i);
- print_on_off(PRINT_ANY, NULL, b, array[i]);
+ print_on_off(PRINT_JSON, NULL, NULL, array[i]);
+ print_uint(PRINT_FP, NULL, "%zd:", i);
+ print_on_off(PRINT_FP, NULL, "%s ", array[i]);
}
}
void dcb_print_array_kw(const __u8 *array, size_t array_size,
const char *const kw[], size_t kw_size)
{
- SPRINT_BUF(b);
size_t i;
for (i = 0; i < array_size; i++) {
+ const char *str = "???";
__u8 emt = array[i];
- snprintf(b, sizeof(b), "%zd:%%s ", i);
if (emt < kw_size && kw[emt])
- print_string(PRINT_ANY, NULL, b, kw[emt]);
- else
- print_string(PRINT_ANY, NULL, b, "???");
+ str = kw[emt];
+ print_string(PRINT_JSON, NULL, NULL, str);
+ print_uint(PRINT_FP, NULL, "%zd:", i);
+ print_string(PRINT_FP, NULL, "%s ", str);
}
}
Some installation of Clang are unhappy about the use of a hand-rolled formatting strings, and emit warnings such as this one: dcb.c:334:31: warning: format string is not a string literal [-Wformat-nonliteral] Rewrite the impacted code so that it always uses literal format strings. Reported-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: Petr Machata <petrm@nvidia.com> --- dcb/dcb.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-)