@@ -1555,10 +1555,10 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto)
1555
1555
#ifdef CAN_J1939
1556
1556
case CAN_J1939 :
1557
1557
{
1558
- return Py_BuildValue ("O&KkB " , PyUnicode_DecodeFSDefault ,
1558
+ return Py_BuildValue ("O&KIB " , PyUnicode_DecodeFSDefault ,
1559
1559
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 ,
1562
1562
a -> can_addr .j1939 .addr );
1563
1563
}
1564
1564
#endif /* CAN_J1939 */
@@ -2249,13 +2249,13 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
2249
2249
PyObject * interfaceName ;
2250
2250
struct ifreq ifr ;
2251
2251
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 */
2254
2254
uint8_t j1939_addr ;
2255
2255
2256
2256
struct sockaddr_can * addr = & addrbuf -> can ;
2257
2257
2258
- if (!PyArg_ParseTuple (args , "O&KkB " , PyUnicode_FSConverter ,
2258
+ if (!PyArg_ParseTuple (args , "O&KIB " , PyUnicode_FSConverter ,
2259
2259
& interfaceName ,
2260
2260
& j1939_name ,
2261
2261
& j1939_pgn ,
@@ -2283,8 +2283,8 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
2283
2283
2284
2284
addr -> can_family = AF_CAN ;
2285
2285
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 ;
2288
2288
addr -> can_addr .j1939 .addr = j1939_addr ;
2289
2289
2290
2290
* len_ret = sizeof (* addr );
0 commit comments