10000 Use 'unsigned short' type · python/cpython@533a478 · GitHub
[go: up one dir, main page]

Skip to content

Commit 533a478

Browse files
committed
Use 'unsigned short' type
Fix also BTPROTO_RFCOMM and BTPROTO_HCI code path.
1 parent 9eb932c commit 533a478

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

Modules/socketmodule.c

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2044,10 +2044,10 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
20442044
struct sockaddr_l2 *addr = &addrbuf->bt_l2;
20452045
memset(addr, 0, sizeof(struct sockaddr_l2));
20462046
_BT_L2_MEMB(addr, family) = AF_BLUETOOTH;
2047-
int psm;
2048-
int cid = 0;
2047+
unsigned short psm;
2048+
unsigned short cid = 0;
20492049
unsigned char bdaddr_type = BDADDR_BREDR;
2050-
if (!PyArg_ParseTuple(args, "si|iB", &straddr,
2050+
if (!PyArg_ParseTuple(args, "sH|HB", &straddr,
20512051
&psm,
20522052
&cid,
20532053
&bdaddr_type)) {
@@ -2071,12 +2071,15 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
20712071
const char *straddr;
20722072
struct sockaddr_rc *addr = &addrbuf->bt_rc;
20732073
_BT_RC_MEMB(addr, family) = AF_BLUETOOTH;
2074-
if (!PyArg_ParseTuple(args, "si", &straddr,
2075-
&_BT_RC_MEMB(addr, channel))) {
2074+
uint8_t channel = _BT_RC_MEMB(addr, channel);
2075+
if (!PyArg_ParseTuple(args, "sB", &straddr,
2076+
&channel)) {
20762077
PyErr_Format(PyExc_OSError,
20772078
"%s(): wrong format", caller);
20782079
return 0;
20792080
}
2081+
_BT_RC_MEMB(addr, channel) = channel;
2082+
20802083
if (setbdaddr(straddr, &_BT_RC_MEMB(addr, bdaddr)) < 0)
20812084
return 0;
20822085

@@ -2100,11 +2103,13 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
21002103
return 0;
21012104
#else /* __NetBSD__ || __DragonFly__ */
21022105
_BT_HCI_MEMB(addr, family) = AF_BLUETOOTH;
2103-
if (!PyArg_ParseTuple(args, "i", &_BT_HCI_MEMB(addr, dev))) {
2106+
unsigned short dev = _BT_HCI_MEMB(addr, dev);
2107+
if (!PyArg_ParseTuple(args, "H", &dev)) {
21042108
PyErr_Format(PyExc_OSError,
21052109
"%s(): wrong format", caller);
21062110
return 0;
21072111
}
2112+
_BT_HCI_MEMB(addr, dev) = dev;
21082113
#endif /* !(__NetBSD__ || __DragonFly__) */
21092114
*len_ret = sizeof *addr;
21102115
return 1;

0 commit comments

Comments
 (0)
0