From 2d0ae0560f0697f8366c0ce831baf63f5ff4f736 Mon Sep 17 00:00:00 2001 From: Benny Baumann <BenBE@geshi.org> Date: Tue, 5 Jan 2021 01:52:00 +0100 Subject: [PATCH] fix: Workaround for compile issue with -Weffc++ --- src/net/socketaddress.hpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/net/socketaddress.hpp b/src/net/socketaddress.hpp index 7a32f28..ccb0c76 100644 --- a/src/net/socketaddress.hpp +++ b/src/net/socketaddress.hpp @@ -10,6 +10,7 @@ #include <functional> +#include "macros.hpp" #include "net/netio_exception.hpp" #ifdef __linux__ @@ -80,17 +81,24 @@ public: } template <typename T> - socketaddr &operator=(T *rhs) { + socketaddr& operator=(const T *rhs) { if (rhs->*(family_map<T>::sa_family_field) != family_map<T>::sa_family) { throw netio_exception("Address family mismatch in sockaddr structure."); } memcpy(&addr, rhs, sizeof(T)); len = sizeof(T); + +COMPILER_SUPRESS("-Weffc++"); + return *this; +COMPILER_RESTORE("-Weffc++"); } - socketaddr &operator=(sockaddr_storage *rhs) { - return *this = (sockaddr*)rhs; + socketaddr& operator=(const sockaddr_storage *rhs) { + *this = (sockaddr*)rhs; +COMPILER_SUPRESS("-Weffc++"); + return *this; +COMPILER_RESTORE("-Weffc++"); } socketaddr& operator=(sockaddr *rhs) { -- GitLab