summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Fleming <mattjfleming@googlemail.com>2006-07-28 11:27:27 (GMT)
committerMatt Fleming <mattjfleming@googlemail.com>2006-07-28 11:27:27 (GMT)
commitec9265094ad17bc8eddb49158c8a3f4bbf7fb7ee (patch)
tree4d11050a55c5cb6e9cd1e62fb8eec8b5cc1ddfd8
parent9315251fb620ca01d41db37e23d73bb6ccfab173 (diff)
downloadcpython-ec9265094ad17bc8eddb49158c8a3f4bbf7fb7ee.zip
cpython-ec9265094ad17bc8eddb49158c8a3f4bbf7fb7ee.tar.gz
cpython-ec9265094ad17bc8eddb49158c8a3f4bbf7fb7ee.tar.bz2
Allow socketmodule to compile on NetBSD -current, whose bluetooth API
differs from both Linux and FreeBSD. Accepted by Neal Norwitz.
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/socketmodule.c8
3 files changed, 12 insertions, 0 deletions
diff --git a/Misc/ACKS b/Misc/ACKS
index f6803bb..5998bca 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -203,6 +203,7 @@ Vincent Fiack
Russell Finn
Nils Fischbeck
Frederik Fix
+Matt Fleming
Hernán Martínez Foffani
Doug Fort
John Fouhy
diff --git a/Misc/NEWS b/Misc/NEWS
index 663203b..ff46fa4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -132,6 +132,9 @@ Extension Modules
methods now allow their database parameter to be None as the
sleepycat API allows.
+- Bug #1526460: Fix socketmodule compile on NetBSD as it has a different
+ bluetooth API compared with Linux and FreeBSD.
+
Tests
-----
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index d07ce35..55539ca 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -367,6 +367,14 @@ const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
#define _BT_SOCKADDR_MEMB(s, proto) &((s)->sock_addr)
#define _BT_L2_MEMB(sa, memb) ((sa)->l2cap_##memb)
#define _BT_RC_MEMB(sa, memb) ((sa)->rfcomm_##memb)
+#elif defined(__NetBSD__)
+#define sockaddr_l2 sockaddr_bt
+#define sockaddr_rc sockaddr_bt
+#define sockaddr_sco sockaddr_bt
+#define _BT_SOCKADDR_MEMB(s, proto) &((s)->sock_addr)
+#define _BT_L2_MEMB(sa, memb) ((sa)->bt_##memb)
+#define _BT_RC_MEMB(sa, memb) ((sa)->bt_##memb)
+#define _BT_SCO_MEMB(sa, memb) ((sa)->bt_##memb)
#else
#define _BT_SOCKADDR_MEMB(s, proto) (&((s)->sock_addr).bt_##proto)
#define _BT_L2_MEMB(sa, memb) ((sa)->l2_##memb)