io: Fix printing 4 bytes memory on 64 bit systems
authorHauke Mehrtens <hauke@hauke-m.de>
Thu, 7 Nov 2019 21:13:13 +0000 (22:13 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 13 Nov 2019 22:25:03 +0000 (23:25 +0100)
On 64 bit Linux systems long is 8 bytes long, on 32 bit Linux systems it
is 4 bytes long. Here we want to print 4 bytes and not 8 bytes, use int
instead of long.

This fixes printing 4 bytes on 64 bit systems.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
utils/io/Makefile
utils/io/src/io.c

index fe3f779b2af107ec09ef9ccd0241dab65649b1ab..c572554d038a6f59da0922dd9a8fc2200041c1da 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=io
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 include $(INCLUDE_DIR)/package.mk
 
index 51929121397b1d3fdf4a8971419d8c02b81d52f2..be861e3a2b1953a8b4869dcd9a56f3d9afc03d73 100644 (file)
@@ -68,7 +68,7 @@ memread_memory(unsigned long phys_addr, void *addr, int len, int iosize)
                                printf(" %04x", *(unsigned short *)addr);
                                break;
                        case 4:
-                               printf(" %08lx", *(unsigned long *)addr);
+                               printf(" %08x", *(unsigned int *)addr);
                                break;
                        }
                        i += iosize;