From dd942eaa480a0744fd64844f34233900a0da6893 Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Thu, 21 Oct 2021 04:26:08 +0200 Subject: passt: Fix build with gcc 7, use std=c99, enable some more Clang checkers Unions and structs, you all have names now. Take the chance to enable bugprone-reserved-identifier, cert-dcl37-c, and cert-dcl51-cpp checkers in clang-tidy. Provide a ffsl() weak declaration using gcc built-in. Start reordering includes, but that's not enough for the llvm-include-order checker yet. Signed-off-by: Stefano Brivio --- util.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'util.c') diff --git a/util.c b/util.c index 6fb535c..5ecb43a 100644 --- a/util.c +++ b/util.c @@ -12,13 +12,11 @@ * Author: Stefano Brivio */ -#define _GNU_SOURCE #include #include #include #include #include -#include #include #include #include @@ -34,6 +32,8 @@ #include #include +#include + #include "util.h" #include "passt.h" @@ -204,14 +204,16 @@ char *ipv6_l4hdr(struct ipv6hdr *ip6h, uint8_t *proto) int sock_l4(struct ctx *c, int af, uint8_t proto, uint16_t port, enum bind_type bind_addr, uint32_t data) { - union epoll_ref ref = { .proto = proto, .data = data }; + union epoll_ref ref = { .r.proto = proto, .r.p.data = data }; struct sockaddr_in addr4 = { .sin_family = AF_INET, .sin_port = htons(port), + { 0 }, { 0 }, }; struct sockaddr_in6 addr6 = { .sin6_family = AF_INET6, .sin6_port = htons(port), + 0, IN6ADDR_ANY_INIT, 0, }; const struct sockaddr *sa; struct epoll_event ev; @@ -229,7 +231,7 @@ int sock_l4(struct ctx *c, int af, uint8_t proto, uint16_t port, perror("L4 socket"); return -1; } - ref.s = fd; + ref.r.s = fd; if (af == AF_INET) { if (bind_addr == BIND_LOOPBACK) -- cgit v1.2.3