@@ -1555,10 +1555,10 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto)
15551555#ifdef CAN_J1939
15561556 case CAN_J1939 :
15571557 {
1558- return Py_BuildValue ("O&KkB " , PyUnicode_DecodeFSDefault ,
1558+ return Py_BuildValue ("O&KIB " , PyUnicode_DecodeFSDefault ,
15591559 ifname ,
1560- a -> can_addr .j1939 .name ,
1561- a -> can_addr .j1939 .pgn ,
1560+ ( unsigned long long ) a -> can_addr .j1939 .name ,
1561+ ( unsigned int ) a -> can_addr .j1939 .pgn ,
15621562 a -> can_addr .j1939 .addr );
15631563 }
15641564#endif /* CAN_J1939 */
@@ -2249,13 +2249,13 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
22492249 PyObject * interfaceName ;
22502250 struct ifreq ifr ;
22512251 Py_ssize_t len ;
2252- uint64_t j1939_name ;
2253- uint32_t j1939_pgn ;
2252+ unsigned long long j1939_name ; /* at least 64 bits */
2253+ unsigned int j1939_pgn ; /* at least 32 bits */
22542254 uint8_t j1939_addr ;
22552255
22562256 struct sockaddr_can * addr = & addrbuf -> can ;
22572257
2258- if (!PyArg_ParseTuple (args , "O&KkB " , PyUnicode_FSConverter ,
2258+ if (!PyArg_ParseTuple (args , "O&KIB " , PyUnicode_FSConverter ,
22592259 & interfaceName ,
22602260 & j1939_name ,
22612261 & j1939_pgn ,
@@ -2283,8 +2283,8 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
22832283
22842284 addr -> can_family = AF_CAN ;
22852285 addr -> can_ifindex = ifr .ifr_ifindex ;
2286- addr -> can_addr .j1939 .name = j1939_name ;
2287- addr -> can_addr .j1939 .pgn = j1939_pgn ;
2286+ addr -> can_addr .j1939 .name = ( uint64_t ) j1939_name ;
2287+ addr -> can_addr .j1939 .pgn = ( uint32_t ) j1939_pgn ;
22882288 addr -> can_addr .j1939 .addr = j1939_addr ;
22892289
22902290 * len_ret = sizeof (* addr );
0 commit comments