ubusd/libubus-io: fix variable sized struct position warning
authorPetr Štetiar <ynezz@true.cz>
Wed, 11 Dec 2019 09:07:08 +0000 (10:07 +0100)
committerPetr Štetiar <ynezz@true.cz>
Mon, 16 Dec 2019 22:39:16 +0000 (23:39 +0100)
Fixes following clang-9 compiler warnings:

 ubusd.c:99:18: error: field 'h' with variable sized type 'struct cmsghdr' not at the end of a struct or class is a GNU extension [-Werror,-Wgnu-variable-sized-type-not-at-end]
                struct cmsghdr h;
                               ^

Signed-off-by: Petr Štetiar <ynezz@true.cz>
libubus-io.c
ubusd.c

index 228af5ca279c6d5f3d428c7ee4fe0b2670a68c1d..cdd1e6e1ed6a63a6bdcd2f0a6926c6b0d59eabf3 100644 (file)
@@ -60,8 +60,8 @@ static void wait_data(int fd, bool write)
 static int writev_retry(int fd, struct iovec *iov, int iov_len, int sock_fd)
 {
        static struct {
-               struct cmsghdr h;
                int fd;
+               struct cmsghdr h;
        } fd_buf = {
                .h = {
                        .cmsg_len = sizeof(fd_buf),
@@ -159,8 +159,8 @@ static int recv_retry(struct ubus_context *ctx, struct iovec *iov, bool wait, in
        int bytes, total = 0;
        int fd = ctx->sock.fd;
        static struct {
-               struct cmsghdr h;
                int fd;
+               struct cmsghdr h;
        } fd_buf = {
                .h = {
                        .cmsg_type = SCM_RIGHTS,
diff --git a/ubusd.c b/ubusd.c
index 7738f50f97797623d01f4aed8258ac10102f8a63..d6a72e73370bde85c66516fdd023a81b13475e3b 100644 (file)
--- a/ubusd.c
+++ b/ubusd.c
@@ -96,8 +96,8 @@ static int ubus_msg_writev(int fd, struct ubus_msg_buf *ub, int offset)
 {
        static struct iovec iov[2];
        static struct {
-               struct cmsghdr h;
                int fd;
+               struct cmsghdr h;
        } fd_buf = {
                .h = {
                        .cmsg_len = sizeof(fd_buf),
@@ -216,8 +216,8 @@ static void client_cb(struct uloop_fd *sock, unsigned int events)
        struct ubus_msg_buf *ub;
        static struct iovec iov;
        static struct {
-               struct cmsghdr h;
                int fd;
+               struct cmsghdr h;
        } fd_buf = {
                .h = {
                        .cmsg_type = SCM_RIGHTS,