diff --git a/src/macros.hpp b/src/macros.hpp index 981f17027fbf39ddc1100d4f2774c2c3956dc13e..b5c38c151c778c65d00e5bdcad6af356c9ee80e6 100644 --- a/src/macros.hpp +++ b/src/macros.hpp @@ -1,5 +1,7 @@ #pragma once +#ifdef __GNUC__ + #define ATTR_NONNULL_ALL __attribute__((nonnull)) #define ATTR_NONNULL(...) __attribute__((nonnull(__VA_ARGS__))) @@ -7,8 +9,27 @@ #define ATTR_STRFTIME(fmtpos) __attribute__(( format(strftime, (fmtpos), 0 ) )) #define ATTR_PACKED __attribute__((packed)) - +#define ATTR_UNUSED __attribute__((unused)) #define ATTR_WEAK __attribute__((weak)) #define ATTR_LIKELY(x) __builtin_expect((x), 1) #define ATTR_UNLIKELY(x) __builtin_expect((x), 0) + +#else + +#define ATTR_NONNULL_ALL +#define ATTR_NONNULL(...) + +#define ATTR_PRINTF(fmtpos, argpos) +#define ATTR_STRFTIME(fmtpos) + +#define ATTR_PACKED +#define ATTR_UNUSED +#define ATTR_WEAK + +#define ATTR_LIKELY(x) (x) +#define ATTR_UNLIKELY(x) (x) + +#endif + +#define MARK_UNUSED(x) (void)(x) diff --git a/src/net/tcp_server_socket.cpp b/src/net/tcp_server_socket.cpp index 0308d90cb8f603e37130581152cc877366949a9c..7a555c242324e644efe8c42da796df082ff21549 100644 --- a/src/net/tcp_server_socket.cpp +++ b/src/net/tcp_server_socket.cpp @@ -18,6 +18,9 @@ #include <sys/stat.h> #include <netinet/in.h> +#include "macros.hpp" + + namespace rmrf::net { tcp_server_socket::tcp_server_socket(uint16_t port, incoming_client_listener_type client_listener_) : @@ -54,13 +57,10 @@ tcp_server_socket::tcp_server_socket(uint16_t port, incoming_client_listener_typ // As we're not depending on the actual async server object we need to suppress the warning that we're not using it. -#ifdef __GNUC__ - #define UNUSED __attribute__ ((unused)) -#else - #define UNUSED -#endif -void tcp_server_socket::await_raw_socket_incomming(async_server_socket::self_ptr_type ass UNUSED, const auto_fd& socket) { +void tcp_server_socket::await_raw_socket_incomming(async_server_socket::self_ptr_type ass, const auto_fd& socket) { + MARK_UNUSED(ass); + struct sockaddr_in client_addr; socklen_t client_len = sizeof(client_addr); int client_fd_raw = accept(socket.get(), (struct sockaddr *)&client_addr, &client_len); @@ -84,7 +84,9 @@ int tcp_server_socket::get_number_of_connected_clients() { return this->number_of_connected_clients; } -void tcp_server_socket::client_destructed_cb(tcp_client::exit_status exit_status UNUSED) { +void tcp_server_socket::client_destructed_cb(tcp_client::exit_status exit_status) { + MARK_UNUSED(exit_status); + this->number_of_connected_clients--; }