[gimp] plug-ins: fix various other warnings on the Windows build CI.



commit c280cb9da7a4deee577889326df5685bf58d5c55
Author: Jehan <jehan girinstud io>
Date:   Fri Apr 17 14:42:25 2020 +0200

    plug-ins: fix various other warnings on the Windows build CI.
    
    1 > warning: "_WIN32_WINNT" redefined
    2 > pointer targets in passing argument 2 of 'send' differ in signedness
    3 > passing argument 4 of 'setsockopt' from incompatible pointer type
    
    For the signedness/type issues, I just casted to (void *) which was the
    expected type for these parameter on the Linux API anyway. As for
    Windows API (which was expecting char* for these various API), the
    compiler just does the cast itself from void* without complaining
    anymore.

 plug-ins/script-fu/script-fu-server.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/plug-ins/script-fu/script-fu-server.c b/plug-ins/script-fu/script-fu-server.c
index e9ad1ae084..fa985f6896 100644
--- a/plug-ins/script-fu/script-fu-server.c
+++ b/plug-ins/script-fu/script-fu-server.c
@@ -35,11 +35,14 @@
 #include <glib.h>
 
 #ifdef G_OS_WIN32
+#ifdef _WIN32_WINNT
+#undef _WIN32_WINNT
+#endif
 #define _WIN32_WINNT 0x0502
 #include <winsock2.h>
 #include <ws2tcpip.h>
 
-typedef short sa_family_t;     /* Not defined by winsock */
+typedef short sa_family_t; /* Not defined by winsock */
 
 #ifndef AI_ADDRCONFIG
 /* Missing from mingw headers, but value is publicly documented
@@ -586,7 +589,7 @@ execute_command (SFCommand *cmd)
 
   /*  Write the response to the client  */
   for (i = 0; i < RESPONSE_HEADER; i++)
-    if (cmd->filedes > 0 && send (cmd->filedes, buffer + i, 1, 0) < 0)
+    if (cmd->filedes > 0 && send (cmd->filedes, (const void *) (buffer + i), 1, 0) < 0)
       {
         /*  Write error  */
         print_socket_api_error ("send");
@@ -620,7 +623,7 @@ read_from_client (gint filedes)
 
   for (i = 0; i < COMMAND_HEADER;)
     {
-      nbytes = recv (filedes, buffer + i, COMMAND_HEADER - i, 0);
+      nbytes = recv (filedes, (void *) (buffer + i), COMMAND_HEADER - i, 0);
 
       if (nbytes < 0)
         {
@@ -724,14 +727,14 @@ make_socket (const struct addrinfo *ai)
       gimp_quit ();
     }
 
-  setsockopt (sock, SOL_SOCKET, SO_REUSEADDR, &v, sizeof(v));
+  setsockopt (sock, SOL_SOCKET, SO_REUSEADDR, (const void *) &v, sizeof(v));
 
 #ifdef IPV6_V6ONLY
   /* Only listen on IPv6 addresses, otherwise bind() will fail. */
   if (ai->ai_family == AF_INET6)
     {
       v = 1;
-      if (setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY, &v, sizeof(v)) < 0)
+      if (setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY, (const void *) &v, sizeof(v)) < 0)
         {
           print_socket_api_error ("setsockopt");
           gimp_quit();


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]