From ae234d24ee1ead8acaa3507c75000faf743cce8d Mon Sep 17 00:00:00 2001
From: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com>
Date: Mon, 15 Feb 2016 13:05:38 -0500
Subject: [PATCH] remove lots of warning during Win32 build

Tuleap: #381
Change-Id: Ibf1cb1f72f874758d1bd86a5e3a8cd7d6d875fae
---
 bin/winmain.cpp             |  4 ++++
 src/fileutils.cpp           | 10 +++++++---
 src/ip_utils.cpp            |  5 +++--
 src/logger.h                |  4 +++-
 src/media/socket_pair.cpp   |  4 ++++
 src/ringdht/ringaccount.cpp |  2 +-
 src/security/certstore.cpp  |  2 +-
 7 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/bin/winmain.cpp b/bin/winmain.cpp
index efce9d324d..19eab5923b 100644
--- a/bin/winmain.cpp
+++ b/bin/winmain.cpp
@@ -146,6 +146,8 @@ void
 IncomingCall(const std::string& accountId,
     const std::string& callId, const std::string& message)
 {
+    (void) accountId;
+    (void) message;
     if (not isActive) {
         DRing::accept(callId);
         isActive = true;
@@ -175,6 +177,8 @@ run()
     }
 
     DRing::fini();
+
+    return 0;
 }
 
 static void
diff --git a/src/fileutils.cpp b/src/fileutils.cpp
index 34fe6a31cb..ea6997499c 100644
--- a/src/fileutils.cpp
+++ b/src/fileutils.cpp
@@ -64,7 +64,9 @@
 namespace ring { namespace fileutils {
 
 // returns true if directory exists
-bool check_dir(const char *path, mode_t dirmode, mode_t parentmode)
+bool check_dir(const char *path,
+            mode_t UNUSED dirmode,
+            mode_t parentmode)
 {
     DIR *dir = opendir(path);
 
@@ -211,7 +213,7 @@ loadFile(const std::string& path)
         throw std::runtime_error("Can't read file: "+path);
     file.seekg(0, std::ios::end);
     std::streamsize size = file.tellg();
-    if (size > std::numeric_limits<unsigned>::max())
+    if ((unsigned)size > std::numeric_limits<unsigned>::max())
         throw std::runtime_error("File is too big: "+path);
     buffer.resize(size);
     file.seekg(0, std::ios::beg);
@@ -221,7 +223,9 @@ loadFile(const std::string& path)
 }
 
 void
-saveFile(const std::string& path, const std::vector<uint8_t>& data, mode_t mode)
+saveFile(const std::string& path,
+        const std::vector<uint8_t>& data,
+        mode_t UNUSED mode)
 {
     std::ofstream file(path, std::ios::trunc | std::ios::binary);
     if (!file.is_open()) {
diff --git a/src/ip_utils.cpp b/src/ip_utils.cpp
index 66bb2c574e..fd3bfa8fbc 100644
--- a/src/ip_utils.cpp
+++ b/src/ip_utils.cpp
@@ -128,10 +128,11 @@ ip_utils::getInterfaceAddr(const std::string &interface, pj_uint16_t family)
     if (interface == DEFAULT_INTERFACE)
         return getLocalAddr(family);
 
-    const auto unix_family = family == pj_AF_INET() ? AF_INET : AF_INET6;
     IpAddr addr = {};
 
 #ifndef _WIN32
+    const auto unix_family = family == pj_AF_INET() ? AF_INET : AF_INET6;
+
     int fd = socket(unix_family, SOCK_DGRAM, 0);
     if (fd < 0) {
         RING_ERR("Could not open socket: %m");
@@ -171,7 +172,7 @@ ip_utils::getInterfaceAddr(const std::string &interface, pj_uint16_t family)
 
     DWORD dwRetval = getaddrinfo(interface.c_str(), "0", &hints, &result);
     if (dwRetval != 0) {
-        RING_ERR("getaddrinfo failed with error: %d", dwRetval);
+        RING_ERR("getaddrinfo failed with error: %lu", dwRetval);
         return addr;
     }
 
diff --git a/src/logger.h b/src/logger.h
index 5f00df14d8..7e404f17ea 100644
--- a/src/logger.h
+++ b/src/logger.h
@@ -33,7 +33,9 @@ extern "C" {
  * Print something, coloring it depending on the level
  */
 void logger(const int level, const char* format, ...)
-#ifdef __GNUC__
+#ifdef _WIN32
+    __attribute__((format(gnu_printf, 2, 3)))
+#elif defined(__GNUC__)
     __attribute__((format(printf, 2, 3)))
 #endif
     ;
diff --git a/src/media/socket_pair.cpp b/src/media/socket_pair.cpp
index 03798c51e9..74d0b3ed6e 100644
--- a/src/media/socket_pair.cpp
+++ b/src/media/socket_pair.cpp
@@ -121,7 +121,11 @@ udp_resolve_host(const char* node, int service)
     struct addrinfo* res = nullptr;
     if (auto error = getaddrinfo(node, sport, &hints, &res)) {
         res = nullptr;
+#ifndef _WIN32
         RING_ERR("getaddrinfo failed: %s\n", gai_strerror(error));
+#else
+        RING_ERR("getaddrinfo failed: %S\n", gai_strerror(error));
+#endif
     }
 
     return res;
diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp
index 5bbf7a2c07..57a1ea30ec 100644
--- a/src/ringdht/ringaccount.cpp
+++ b/src/ringdht/ringaccount.cpp
@@ -1216,7 +1216,7 @@ RingAccount::loadValues() const
         }
         remove(file.c_str());
     }
-    RING_DBG("Loaded %lu values", values.size());
+    RING_DBG("Loaded %zu values", values.size());
     return values;
 }
 
diff --git a/src/security/certstore.cpp b/src/security/certstore.cpp
index 1bd9394e3b..63a89d3b35 100644
--- a/src/security/certstore.cpp
+++ b/src/security/certstore.cpp
@@ -196,7 +196,7 @@ CertificateStore::pinCertificatePath(const std::string& path, std::function<void
             }
             paths_.emplace(path, std::move(scerts));
         }
-        RING_DBG("CertificateStore: loaded %lu certificates from %s.",
+        RING_DBG("CertificateStore: loaded %zu certificates from %s.",
                  certs.size(), path.c_str());
         if (cb)
             cb(ids);
-- 
GitLab