Hello community, here is the log from the commit of package LibVNCServer for openSUSE:Factory checked in at 2016-05-31 12:10:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/LibVNCServer (Old) and /work/SRC/openSUSE:Factory/.LibVNCServer.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "LibVNCServer" Changes: -------- --- /work/SRC/openSUSE:Factory/LibVNCServer/LibVNCServer.changes 2015-02-14 13:45:04.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.LibVNCServer.new/LibVNCServer.changes 2016-05-31 12:10:19.000000000 +0200 @@ -1,0 +2,7 @@ +Tue May 24 17:25:53 UTC 2016 - [email protected] + +- Fix build errors of applications using stl_algobase.h and + libvncserver's rfbproto.h, e.g. krfb (issue #102) + * Add libvncserver-0.9.10-use-namespaced-rfbMax-macro.patch + +------------------------------------------------------------------- New: ---- libvncserver-0.9.10-use-namespaced-rfbMax-macro.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ LibVNCServer.spec ++++++ --- /var/tmp/diff_new_pack.k3s5Cv/_old 2016-05-31 12:10:20.000000000 +0200 +++ /var/tmp/diff_new_pack.k3s5Cv/_new 2016-05-31 12:10:20.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package LibVNCServer # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -34,6 +34,8 @@ #PATCH_FIX-OPENSUSE: Use system fast byteswap routines. Patch11: libvncserver-byteswap.patch Patch12: libvncserver-%{version}-ossl.patch +#PATCH-FIX-UPSTREAM: use namespaced rfbMax macro (avoids conflicts with stl_algobase.h), picked from upstream +Patch13: libvncserver-0.9.10-use-namespaced-rfbMax-macro.patch BuildRequires: libavahi-devel BuildRequires: libgcrypt-devel BuildRequires: libjpeg-devel @@ -106,6 +108,7 @@ # sh ./autogen.sh %patch11 %patch12 +%patch13 -p1 # fix encoding for file in AUTHORS ChangeLog ; do mv ${file} ${file}.OLD && \ ++++++ libvncserver-0.9.10-use-namespaced-rfbMax-macro.patch ++++++ >From 53cc1fa18a3b96d2c31a145d971017564fca39bb Mon Sep 17 00:00:00 2001 From: Rex Dieter <[email protected]> Date: Thu, 18 Feb 2016 08:29:07 -0600 Subject: [PATCH] use namespaced rfbMax macro (issue #102) Not using generic 'max', avoids conflicts with stl_algobase.h --- libvncclient/listen.c | 9 +++------ libvncserver/httpd.c | 2 +- libvncserver/rfbserver.c | 2 +- libvncserver/sockets.c | 8 ++++---- rfb/rfbproto.h | 2 +- 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/libvncclient/listen.c b/libvncclient/listen.c index 739cd9f..e989d6a 100644 --- a/libvncclient/listen.c +++ b/libvncclient/listen.c @@ -30,9 +30,6 @@ #ifdef WIN32 #define close closesocket #include <winsock2.h> -#ifdef _MINGW32 -#undef max -#endif // #ifdef _MINGW32 #else // #ifdef WIN32 #include <sys/wait.h> #include <sys/utsname.h> @@ -99,7 +96,7 @@ listenForIncomingConnections(rfbClient* client) if(listen6Socket >= 0) FD_SET(listen6Socket, &fds); - r = select(max(listenSocket, listen6Socket)+1, &fds, NULL, NULL, NULL); + r = select(rfbMax(listenSocket, listen6Socket)+1, &fds, NULL, NULL, NULL); if (r > 0) { if (FD_ISSET(listenSocket, &fds)) @@ -195,9 +192,9 @@ listenForIncomingConnectionsNoFork(rfbClient* client, int timeout) FD_SET(client->listen6Sock, &fds); if (timeout < 0) - r = select(max(client->listenSock, client->listen6Sock) +1, &fds, NULL, NULL, NULL); + r = select(rfbMax(client->listenSock, client->listen6Sock) +1, &fds, NULL, NULL, NULL); else - r = select(max(client->listenSock, client->listen6Sock) +1, &fds, NULL, NULL, &to); + r = select(rfbMax(client->listenSock, client->listen6Sock) +1, &fds, NULL, NULL, &to); if (r > 0) { diff --git a/libvncserver/httpd.c b/libvncserver/httpd.c index 2a778e7..236ab3e 100644 --- a/libvncserver/httpd.c +++ b/libvncserver/httpd.c @@ -192,7 +192,7 @@ rfbHttpCheckFds(rfbScreenInfoPtr rfbScreen) } tv.tv_sec = 0; tv.tv_usec = 0; - nfds = select(max(rfbScreen->httpListen6Sock, max(rfbScreen->httpSock,rfbScreen->httpListenSock)) + 1, &fds, NULL, NULL, &tv); + nfds = select(rfbMax(rfbScreen->httpListen6Sock, rfbMax(rfbScreen->httpSock,rfbScreen->httpListenSock)) + 1, &fds, NULL, NULL, &tv); if (nfds == 0) { return; } diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c index 34e1c06..68c2de5 100644 --- a/libvncserver/rfbserver.c +++ b/libvncserver/rfbserver.c @@ -369,7 +369,7 @@ rfbNewTCPOrUDPClient(rfbScreenInfoPtr rfbScreen, } FD_SET(sock,&(rfbScreen->allFds)); - rfbScreen->maxFd = max(sock,rfbScreen->maxFd); + rfbScreen->maxFd = rfbMax(sock,rfbScreen->maxFd); INIT_MUTEX(cl->outputMutex); INIT_MUTEX(cl->refCountMutex); diff --git a/libvncserver/sockets.c b/libvncserver/sockets.c index f21f162..aaef14b 100644 --- a/libvncserver/sockets.c +++ b/libvncserver/sockets.c @@ -193,7 +193,7 @@ rfbInitSockets(rfbScreenInfoPtr rfbScreen) rfbLog("Autoprobing selected TCP6 port %d\n", rfbScreen->ipv6port); FD_SET(rfbScreen->listen6Sock, &(rfbScreen->allFds)); - rfbScreen->maxFd = max((int)rfbScreen->listen6Sock,rfbScreen->maxFd); + rfbScreen->maxFd = rfbMax((int)rfbScreen->listen6Sock,rfbScreen->maxFd); #endif } else @@ -220,7 +220,7 @@ rfbInitSockets(rfbScreenInfoPtr rfbScreen) rfbLog("Listening for VNC connections on TCP6 port %d\n", rfbScreen->ipv6port); FD_SET(rfbScreen->listen6Sock, &(rfbScreen->allFds)); - rfbScreen->maxFd = max((int)rfbScreen->listen6Sock,rfbScreen->maxFd); + rfbScreen->maxFd = rfbMax((int)rfbScreen->listen6Sock,rfbScreen->maxFd); } #endif @@ -236,7 +236,7 @@ rfbInitSockets(rfbScreenInfoPtr rfbScreen) rfbLog("Listening for VNC connections on TCP port %d\n", rfbScreen->port); FD_SET(rfbScreen->udpSock, &(rfbScreen->allFds)); - rfbScreen->maxFd = max((int)rfbScreen->udpSock,rfbScreen->maxFd); + rfbScreen->maxFd = rfbMax((int)rfbScreen->udpSock,rfbScreen->maxFd); } } @@ -563,7 +563,7 @@ rfbConnect(rfbScreenInfoPtr rfbScreen, /* AddEnabledDevice(sock); */ FD_SET(sock, &rfbScreen->allFds); - rfbScreen->maxFd = max(sock,rfbScreen->maxFd); + rfbScreen->maxFd = rfbMax(sock,rfbScreen->maxFd); return sock; } diff --git a/rfb/rfbproto.h b/rfb/rfbproto.h index 8e607e5..bb6bfa5 100644 --- a/rfb/rfbproto.h +++ b/rfb/rfbproto.h @@ -93,8 +93,8 @@ #define strncasecmp _strnicmp #endif +#define rfbMax(a,b) (((a)>(b))?(a):(b)) #if !defined(WIN32) || defined(__MINGW32__) -#define max(a,b) (((a)>(b))?(a):(b)) #ifdef LIBVNCSERVER_HAVE_SYS_TIME_H #include <sys/time.h> #endif
