summaryrefslogtreecommitdiffstats
path: root/src/network/socket
diff options
context:
space:
mode:
authorRalf Nolden <nolden@kde.org>2016-05-31 13:15:56 +0200
committerRalf Nolden <nolden@kde.org>2016-05-31 11:39:42 +0000
commita9bef62ec216a4c0c4f95ca45e1e98ef96ca42f3 (patch)
treea198062d75f98b987c5a85e7ad82b6f842a360ab /src/network/socket
parent28db26f6917174d787bd4c6eadbecebc952d59dc (diff)
Compile fix for OpenBSD using Q_OS_OPENBSD defines
OpenBSD does not have EPROTO and LLINDEX.. LLINDEX is only a macro pointing at sdl_index so use the FreeBSD macro from <net/if_dl.h> as a a workaround. Change-Id: Ic3ccecc1b671bb28d14da83ba915ec3fcad2657d Reviewed-by: Richard J. Moore <rich@kde.org>
Diffstat (limited to 'src/network/socket')
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index 6a740f4c30..e92123e10c 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -573,7 +573,9 @@ int QNativeSocketEnginePrivate::nativeAccept()
setError(QAbstractSocket::SocketResourceError, NotSocketErrorString);
break;
case EPROTONOSUPPORT:
+#if !defined(Q_OS_OPENBSD)
case EPROTO:
+#endif
case EAFNOSUPPORT:
case EINVAL:
setError(QAbstractSocket::UnsupportedSocketOperationError, ProtocolUnsupportedErrorString);
@@ -904,7 +906,9 @@ qint64 QNativeSocketEnginePrivate::nativeReceiveDatagram(char *data, qint64 maxS
if (cmsgptr->cmsg_level == IPPROTO_IP && cmsgptr->cmsg_type == IP_RECVIF
&& cmsgptr->cmsg_len >= CMSG_LEN(sizeof(sockaddr_dl))) {
sockaddr_dl *sdl = reinterpret_cast<sockaddr_dl *>(CMSG_DATA(cmsgptr));
-
+# if defined(Q_OS_OPENBSD)
+# define LLINDEX(s) ((s)->sdl_index)
+# endif
header->ifindex = LLINDEX(sdl);
}
# endif