From: Alexander A. Klimov <alexander.klimov@icinga.com>
Date: Fri, 8 Mar 2019 13:07:29 +0000 (+0100)
Subject: Suppress or fix compiler warnings
X-Git-Tag: v2.11.0-rc1~205^2
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bf92e32496c9922b32ec8d868b83c6e622daf751;p=icinga2

Suppress or fix compiler warnings
---

diff --git a/icinga-app/icinga.cpp b/icinga-app/icinga.cpp
index e8d3f5bf3..3490b49e9 100644
--- a/icinga-app/icinga.cpp
+++ b/icinga-app/icinga.cpp
@@ -940,6 +940,8 @@ int main(int argc, char **argv)
 #ifdef I2_DEBUG
 				if (rc >= 0)
 					std::cerr << "Closed FD " << i << " which we inherited from our parent process." << std::endl;
+#else /* I2_DEBUG */
+				(void)rc;
 #endif /* I2_DEBUG */
 			}
 		}
diff --git a/lib/base/application.cpp b/lib/base/application.cpp
index df93710b7..1effde617 100644
--- a/lib/base/application.cpp
+++ b/lib/base/application.cpp
@@ -171,7 +171,7 @@ void Application::SetResourceLimits()
 	rlim_t fileLimit = Configuration::RLimitFiles;
 
 	if (fileLimit != 0) {
-		if (fileLimit < GetDefaultRLimitFiles()) {
+		if (fileLimit < (rlim_t)GetDefaultRLimitFiles()) {
 			Log(LogWarning, "Application")
 				<< "The user-specified value for RLimitFiles cannot be smaller than the default value (" << GetDefaultRLimitFiles() << "). Using the default value instead.";
 			fileLimit = GetDefaultRLimitFiles();
@@ -192,7 +192,7 @@ void Application::SetResourceLimits()
 	rlim_t processLimit = Configuration::RLimitProcesses;
 
 	if (processLimit != 0) {
-		if (processLimit < GetDefaultRLimitProcesses()) {
+		if (processLimit < (rlim_t)GetDefaultRLimitProcesses()) {
 			Log(LogWarning, "Application")
 				<< "The user-specified value for RLimitProcesses cannot be smaller than the default value (" << GetDefaultRLimitProcesses() << "). Using the default value instead.";
 			processLimit = GetDefaultRLimitProcesses();
@@ -231,7 +231,7 @@ void Application::SetResourceLimits()
 	stackLimit = Configuration::RLimitStack;
 
 	if (stackLimit != 0) {
-		if (stackLimit < GetDefaultRLimitStack()) {
+		if (stackLimit < (rlim_t)GetDefaultRLimitStack()) {
 			Log(LogWarning, "Application")
 				<< "The user-specified value for RLimitStack cannot be smaller than the default value (" << GetDefaultRLimitStack() << "). Using the default value instead.";
 			stackLimit = GetDefaultRLimitStack();
diff --git a/lib/base/netstring.cpp b/lib/base/netstring.cpp
index 5bc026167..17789b2d5 100644
--- a/lib/base/netstring.cpp
+++ b/lib/base/netstring.cpp
@@ -85,7 +85,7 @@ StreamReadStatus NetString::ReadStringFromStream(const Stream::Ptr& stream, Stri
 	/* read the whole message */
 	size_t data_length = len + 1;
 
-	if (maxMessageLength >= 0 && data_length > maxMessageLength) {
+	if (maxMessageLength >= 0 && data_length > (size_t)maxMessageLength) {
 		std::stringstream errorMessage;
 		errorMessage << "Max data length exceeded: " << (maxMessageLength / 1024) << " KB";
 
diff --git a/lib/base/process.cpp b/lib/base/process.cpp
index 71454b5ac..852acc818 100644
--- a/lib/base/process.cpp
+++ b/lib/base/process.cpp
@@ -164,8 +164,11 @@ static Value ProcessSpawnImpl(struct msghdr *msgh, const Dictionary::Ptr& reques
 		(void)close(fds[2]);
 
 #ifdef HAVE_NICE
-		if (adjustPriority)
-			(void)nice(5);
+		if (adjustPriority) {
+			// Cheating the compiler on "warning: ignoring return value of 'int nice(int)', declared with attribute warn_unused_result [-Wunused-result]".
+			auto x (nice(5));
+			(void)x;
+		}
 #endif /* HAVE_NICE */
 
 		sigset_t mask;
diff --git a/lib/base/scriptframe.cpp b/lib/base/scriptframe.cpp
index ebb6399b3..be37416ee 100644
--- a/lib/base/scriptframe.cpp
+++ b/lib/base/scriptframe.cpp
@@ -90,6 +90,10 @@ ScriptFrame::~ScriptFrame()
 {
 	ScriptFrame *frame = PopFrame();
 	ASSERT(frame == this);
+
+#ifndef I2_DEBUG
+	(void)frame;
+#endif /* I2_DEBUG */
 }
 
 void ScriptFrame::IncreaseStackDepth()
diff --git a/lib/cli/consolecommand.cpp b/lib/cli/consolecommand.cpp
index 86019022a..92cf9a4c2 100644
--- a/lib/cli/consolecommand.cpp
+++ b/lib/cli/consolecommand.cpp
@@ -476,15 +476,15 @@ incomplete:
 
 				std::vector<String> ulines = text.Split("\n");
 
-				for (int i = 1; i <= ulines.size(); i++) {
+				for (decltype(ulines.size()) i = 1; i <= ulines.size(); i++) {
 					int start, len;
 
-					if (i == di.FirstLine)
+					if (i == (decltype(i))di.FirstLine)
 						start = di.FirstColumn;
 					else
 						start = 0;
 
-					if (i == di.LastLine)
+					if (i == (decltype(i))di.LastLine)
 						len = di.LastColumn - di.FirstColumn + 1;
 					else
 						len = ulines[i - 1].GetLength();
@@ -497,7 +497,7 @@ incomplete:
 					} else
 						offset = 4;
 
-					if (i >= di.FirstLine && i <= di.LastLine) {
+					if (i >= (decltype(i))di.FirstLine && i <= (decltype(i))di.LastLine) {
 						std::cout << String(di.Path.GetLength() + offset, ' ');
 						std::cout << String(start, ' ') << String(len, '^') << "\n";
 					}
diff --git a/lib/cli/nodesetupcommand.cpp b/lib/cli/nodesetupcommand.cpp
index 166c8425b..f772a0f37 100644
--- a/lib/cli/nodesetupcommand.cpp
+++ b/lib/cli/nodesetupcommand.cpp
@@ -170,7 +170,7 @@ int NodeSetupCommand::SetupMaster(const boost::program_options::variables_map& v
 	if (vm.count("global_zones"))
 		setupGlobalZones = vm["global_zones"].as<std::vector<std::string> >();
 
-	for (int i = 0; i < setupGlobalZones.size(); i++) {
+	for (decltype(setupGlobalZones.size()) i = 0; i < setupGlobalZones.size(); i++) {
 		if (std::find(globalZones.begin(), globalZones.end(), setupGlobalZones[i]) != globalZones.end()) {
 			Log(LogCritical, "cli")
 				<< "The global zone '" << setupGlobalZones[i] << "' is already specified.";
@@ -522,7 +522,7 @@ int NodeSetupCommand::SetupNode(const boost::program_options::variables_map& vm,
 	if (vm.count("global_zones"))
 		setupGlobalZones = vm["global_zones"].as<std::vector<std::string> >();
 
-	for (int i = 0; i < setupGlobalZones.size(); i++) {
+	for (decltype(setupGlobalZones.size()) i = 0; i < setupGlobalZones.size(); i++) {
 		if (std::find(globalZones.begin(), globalZones.end(), setupGlobalZones[i]) != globalZones.end()) {
 			Log(LogCritical, "cli")
 				<< "The global zone '" << setupGlobalZones[i] << "' is already specified.";
diff --git a/lib/icinga/legacytimeperiod.cpp b/lib/icinga/legacytimeperiod.cpp
index 6433d0d6c..8ac54e4e8 100644
--- a/lib/icinga/legacytimeperiod.cpp
+++ b/lib/icinga/legacytimeperiod.cpp
@@ -408,7 +408,7 @@ Dictionary::Ptr LegacyTimePeriod::FindRunningSegment(const String& daydef, const
 			ProcessTimeRanges(timeranges, &iter, segments);
 
 			Dictionary::Ptr bestSegment;
-			double bestEnd;
+			double bestEnd = 0.0;
 
 			ObjectLock olock(segments);
 			for (const Dictionary::Ptr& segment : segments) {
diff --git a/lib/icinga/scheduleddowntime.cpp b/lib/icinga/scheduleddowntime.cpp
index 37c3693bd..9e6c1b552 100644
--- a/lib/icinga/scheduleddowntime.cpp
+++ b/lib/icinga/scheduleddowntime.cpp
@@ -136,7 +136,7 @@ std::pair<double, double> ScheduledDowntime::FindRunningSegment(double minEnd)
 	Array::Ptr segments = new Array();
 
 	Dictionary::Ptr bestSegment;
-	double bestBegin, bestEnd;
+	double bestBegin = 0.0, bestEnd = 0.0;
 	double now = Utility::GetTime();
 
 	ObjectLock olock(ranges);
@@ -196,7 +196,7 @@ std::pair<double, double> ScheduledDowntime::FindNextSegment()
 	Array::Ptr segments = new Array();
 
 	Dictionary::Ptr bestSegment;
-	double bestBegin, bestEnd;
+	double bestBegin = 0.0, bestEnd = 0.0;
 	double now = Utility::GetTime();
 
 	ObjectLock olock(ranges);
diff --git a/lib/remote/apilistener.cpp b/lib/remote/apilistener.cpp
index 9596b76ac..a391bf430 100644
--- a/lib/remote/apilistener.cpp
+++ b/lib/remote/apilistener.cpp
@@ -1424,7 +1424,7 @@ bool ApiListener::AddAnonymousClient(const JsonRpcConnection::Ptr& aclient)
 {
 	boost::mutex::scoped_lock lock(m_AnonymousClientsLock);
 
-	if (GetMaxAnonymousClients() >= 0 && m_AnonymousClients.size() + 1 > GetMaxAnonymousClients())
+	if (GetMaxAnonymousClients() >= 0 && (long)m_AnonymousClients.size() + 1 > (long)GetMaxAnonymousClients())
 		return false;
 
 	m_AnonymousClients.insert(aclient);
diff --git a/lib/remote/eventqueue.cpp b/lib/remote/eventqueue.cpp
index d72451771..df26701a6 100644
--- a/lib/remote/eventqueue.cpp
+++ b/lib/remote/eventqueue.cpp
@@ -65,6 +65,10 @@ void EventQueue::AddClient(void *client)
 
 	auto result = m_Events.insert(std::make_pair(client, std::deque<Dictionary::Ptr>()));
 	ASSERT(result.second);
+
+#ifndef I2_DEBUG
+	(void)result;
+#endif /* I2_DEBUG */
 }
 
 void EventQueue::RemoveClient(void *client)