@@ -1513,10 +1513,10 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto)
1513
1513
#ifdef CAN_J1939
1514
1514
case CAN_J1939 :
1515
1515
{
1516
- return Py_BuildValue ("O&KkB " , PyUnicode_DecodeFSDefault ,
1516
+ return Py_BuildValue ("O&KIB " , PyUnicode_DecodeFSDefault ,
1517
1517
ifname ,
1518
- a -> can_addr .j1939 .name ,
1519
- a -> can_addr .j1939 .pgn ,
1518
+ ( unsigned long long ) a -> can_addr .j1939 .name ,
1519
+ ( unsigned int ) a -> can_addr .j1939 .pgn ,
1520
1520
a -> can_addr .j1939 .addr );
1521
1521
}
1522
1522
#endif /* CAN_J1939 */
@@ -2207,13 +2207,13 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
2207
2207
PyObject * interfaceName ;
2208
2208
struct ifreq ifr ;
2209
2209
Py_ssize_t len ;
2210
- uint64_t j1939_name ;
2211
- uint32_t j1939_pgn ;
2210
+ unsigned long long j1939_name ; /* at least 64 bits */
2211
+ unsigned int j1939_pgn ; /* at least 32 bits */
2212
2212
uint8_t j1939_addr ;
2213
2213
2214
2214
struct sockaddr_can * addr = & addrbuf -> can ;
2215
2215
2216
- if (!PyArg_ParseTuple (args , "O&KkB " , PyUnicode_FSConverter ,
2216
+ if (!PyArg_ParseTuple (args , "O&KIB " , PyUnicode_FSConverter ,
2217
2217
& interfaceName ,
2218
2218
& j1939_name ,
2219
2219
& j1939_pgn ,
@@ -2241,8 +2241,8 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
2241
2241
2242
2242
addr -> can_family = AF_CAN ;
2243
2243
addr -> can_ifindex = ifr .ifr_ifindex ;
2244
- addr -> can_addr .j1939 .name = j1939_name ;
2245
- addr -> can_addr .j1939 .pgn = j1939_pgn ;
2244
+ addr -> can_addr .j1939 .name = ( uint64_t ) j1939_name ;
2245
+ addr -> can_addr .j1939 .pgn = ( uint32_t ) j1939_pgn ;
2246
2246
addr -> can_addr .j1939 .addr = j1939_addr ;
2247
2247
2248
2248
* len_ret = sizeof (* addr );
0 commit comments