From 9de5f300363c788a5cd7d9eaf12f583d7f766502 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 11 May 2020 16:12:25 -0700 Subject: devmem: avoid sign extension. Bug: http://b/156292059 Signed-off-by: Wei Wang --- toys/other/devmem.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'toys/other') diff --git a/toys/other/devmem.c b/toys/other/devmem.c index a6f9f606..6e270df0 100644 --- a/toys/other/devmem.c +++ b/toys/other/devmem.c @@ -47,15 +47,15 @@ void devmem_main(void) // Not using peek()/poke() because registers care about size of read/write if (writing) { - if (bytes == 1) *(char *)p = data; - else if (bytes == 2) *(short *)p = data; - else if (bytes == 4) *(int *)p = data; - else if (bytes == 8) *(long long *)p = data; + if (bytes == 1) *(unsigned char *)p = data; + else if (bytes == 2) *(unsigned short *)p = data; + else if (bytes == 4) *(unsigned int *)p = data; + else if (bytes == 8) *(unsigned long long *)p = data; } else { - if (bytes == 1) data = *(char *)p; - else if (bytes == 2) data = *(short *)p; - else if (bytes == 4) data = *(int *)p; - else if (bytes == 8) data = *(long long *)p; + if (bytes == 1) data = *(unsigned char *)p; + else if (bytes == 2) data = *(unsigned short *)p; + else if (bytes == 4) data = *(unsigned int *)p; + else if (bytes == 8) data = *(unsigned long long *)p; printf("%#0*llx\n", bytes*2, data); } -- cgit v1.2.3