From 4e82034d194e3ea9a547437baf869c1891eca6aa Mon Sep 17 00:00:00 2001
From: Benny Baumann <BenBE@geshi.org>
Date: Sun, 3 Jan 2021 16:19:12 +0100
Subject: [PATCH] chg: Use attribute macros from central location

---
 src/macros.hpp                | 23 ++++++++++++++++++++++-
 src/net/tcp_server_socket.cpp | 16 +++++++++-------
 2 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/src/macros.hpp b/src/macros.hpp
index 981f170..b5c38c1 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 0308d90..7a555c2 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--;
 }
 
-- 
GitLab