testj1939: fix 64-bit types for some platforms

Revert commit that introduced PRIx64 to print an __u64, and added
define to get the same types on all platforms.

With __SANE_USERSPACE_TYPES__ the Linux headers use an unsigned long
long for __u64 on all platforms, especially MIPS64.

Fixes: eb9cfac954 ("use PRIx64")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
pull/330/head
Rosen Penev 2022-01-02 15:21:50 -08:00 committed by Marc Kleine-Budde
parent fd1d61490c
commit e370ad5256
2 changed files with 4 additions and 1 deletions

View File

@ -10,6 +10,9 @@
* as published by the Free Software Foundation
*/
/* needed on some 644 bit platforms to get consistent 64-bit types */
#define __SANE_USERSPACE_TYPES__
#include <sys/socket.h>
#include <linux/can.h>
#include <linux/can/j1939.h>

View File

@ -295,7 +295,7 @@ int main(int argc, char *argv[])
int i;
if (todo_names && peername.can_addr.j1939.name)
printf("%016" PRIx64 " ", peername.can_addr.j1939.name);
printf("%016llx ", peername.can_addr.j1939.name);
printf("%02x %05x:", peername.can_addr.j1939.addr,
peername.can_addr.j1939.pgn);
for (i = 0, j = 0; i < ret; ++i, j++) {