Fix warnings reported by -Wpedantic
Previously CI hasn't been running with -Wpedantic (using autoconf), so
these haven't been reported previously.
- replace BUILD_ASSERT with static_assert()
- don't use %m GNU extension for printf
- don't use arithmetic on void*
- remove unused variables
Change-Id: I97d1acc908f06773b8b1ee95bfee80760fdc7a63
Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>
diff --git a/astlpc.c b/astlpc.c
index 6de3e37..d322b7c 100644
--- a/astlpc.c
+++ b/astlpc.c
@@ -1401,7 +1401,8 @@
astlpc_prwarn(astlpc, "LPC mmap failed");
rc = -1;
} else {
- astlpc->lpc_map = lpc_map_base + map.size - LPC_WIN_SIZE;
+ astlpc->lpc_map =
+ (uint8_t *)lpc_map_base + map.size - LPC_WIN_SIZE;
}
close(fd);
diff --git a/core.c b/core.c
index cc39dcf..33f5093 100644
--- a/core.c
+++ b/core.c
@@ -72,13 +72,6 @@
size_t max_message_size;
};
-#ifndef BUILD_ASSERT
-#define BUILD_ASSERT(x) \
- do { \
- (void)sizeof(char[0 - (!(x))]); \
- } while (0)
-#endif
-
#ifndef ARRAY_SIZE
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
#endif
@@ -317,7 +310,7 @@
size_t i;
/* Cleanup message assembly contexts */
- BUILD_ASSERT(ARRAY_SIZE(mctp->msg_ctxs) < SIZE_MAX);
+ static_assert(ARRAY_SIZE(mctp->msg_ctxs) < SIZE_MAX, "size");
for (i = 0; i < ARRAY_SIZE(mctp->msg_ctxs); i++) {
struct mctp_msg_ctx *tmp = &mctp->msg_ctxs[i];
if (tmp->buf)
@@ -439,8 +432,11 @@
static inline bool mctp_ctrl_cmd_is_transport(struct mctp_ctrl_msg_hdr *hdr)
{
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wtype-limits"
return ((hdr->command_code >= MCTP_CTRL_CMD_FIRST_TRANSPORT) &&
(hdr->command_code <= MCTP_CTRL_CMD_LAST_TRANSPORT));
+#pragma GCC diagnostic pop
}
static bool mctp_ctrl_handle_msg(struct mctp_bus *bus, mctp_eid_t src,
diff --git a/serial.c b/serial.c
index 47d250e..e2a2df2 100644
--- a/serial.c
+++ b/serial.c
@@ -317,7 +317,7 @@
size_t i;
for (i = 0; i < len; i++)
- mctp_rx_consume_one(serial, *(uint8_t *)(buf + i));
+ mctp_rx_consume_one(serial, ((const uint8_t *)buf)[i]);
}
#ifdef MCTP_HAVE_FILEIO
@@ -330,7 +330,8 @@
return -1;
if (len < 0) {
- mctp_prerr("can't read from serial device: %m");
+ mctp_prerr("can't read from serial device: %s",
+ strerror(errno));
return -1;
}
@@ -353,7 +354,7 @@
{
serial->fd = open(device, O_RDWR);
if (serial->fd < 0)
- mctp_prerr("can't open device %s: %m", device);
+ mctp_prerr("can't open device %s: %s", device, strerror(errno));
return 0;
}
diff --git a/tests/test_astlpc.c b/tests/test_astlpc.c
index e8f2bce..48beb4e 100644
--- a/tests/test_astlpc.c
+++ b/tests/test_astlpc.c
@@ -1515,20 +1515,13 @@
};
/* clang-format on */
-#ifndef BUILD_ASSERT
-#define BUILD_ASSERT(x) \
- do { \
- (void)sizeof(char[0 - (!(x))]); \
- } while (0)
-#endif
-
int main(void)
{
size_t i;
mctp_set_log_stdio(MCTP_LOG_DEBUG);
- BUILD_ASSERT(ARRAY_SIZE(astlpc_tests) < SIZE_MAX);
+ static_assert(ARRAY_SIZE(astlpc_tests) < SIZE_MAX, "size");
for (i = 0; i < ARRAY_SIZE(astlpc_tests); i++) {
mctp_prlog(MCTP_LOG_DEBUG, "begin: %s", astlpc_tests[i].name);
astlpc_tests[i].test();
diff --git a/tests/test_core.c b/tests/test_core.c
index 435e5e4..ead3990 100644
--- a/tests/test_core.c
+++ b/tests/test_core.c
@@ -623,20 +623,13 @@
};
/* clang-format on */
-#ifndef BUILD_ASSERT
-#define BUILD_ASSERT(x) \
- do { \
- (void)sizeof(char[0 - (!(x))]); \
- } while (0)
-#endif
-
int main(void)
{
uint8_t i;
mctp_set_log_stdio(MCTP_LOG_DEBUG);
- BUILD_ASSERT(ARRAY_SIZE(mctp_core_tests) < SIZE_MAX);
+ static_assert(ARRAY_SIZE(mctp_core_tests) < SIZE_MAX, "size");
for (i = 0; i < ARRAY_SIZE(mctp_core_tests); i++) {
mctp_prlog(MCTP_LOG_DEBUG, "begin: %s",
mctp_core_tests[i].name);
diff --git a/utils/mctp-capture.c b/utils/mctp-capture.c
index b38e92d..ea83146 100644
--- a/utils/mctp-capture.c
+++ b/utils/mctp-capture.c
@@ -30,8 +30,6 @@
int capture_prepare(struct capture *cap)
{
- int rc;
-
if (!(cap->pcap = pcap_open_dead(CAPTURE_LINKTYPE_LINUX_SLL2,
UINT16_MAX))) {
fprintf(stderr, "pcap_open_dead: failed\n");
@@ -135,7 +133,7 @@
/* Ignore the eid at start of buf */
memcpy(pktbuf + sizeof(struct sll2_header) + sizeof(struct mctp_hdr),
- buf + 1, len - 1);
+ (const uint8_t *)buf + 1, len - 1);
hdr.caplen = size;
hdr.len = size;
diff --git a/utils/mctp-capture.h b/utils/mctp-capture.h
index e432df9..261caba 100644
--- a/utils/mctp-capture.h
+++ b/utils/mctp-capture.h
@@ -3,7 +3,9 @@
#ifndef _UTILS_MCTP_CAPTURE_H
#define _UTILS_MCTP_CAPTURE_H
+#ifdef HAVE_CONFIG_H
#include "config.h"
+#endif
#include "compiler.h"
#include "libmctp.h"
diff --git a/utils/mctp-demux-daemon.c b/utils/mctp-demux-daemon.c
index fae4f35..7357d43 100644
--- a/utils/mctp-demux-daemon.c
+++ b/utils/mctp-demux-daemon.c
@@ -2,7 +2,9 @@
#define _GNU_SOURCE
+#ifdef HAVE_CONFIG_H
#include "config.h"
+#endif
#define SD_LISTEN_FDS_START 3
@@ -64,7 +66,7 @@
struct binding *binding;
bool verbose;
int local_eid;
- void *buf;
+ uint8_t *buf;
size_t buf_size;
int sock;