From 18f61416e809f6a8fb021ea6f7d382d3e737b7f6 Mon Sep 17 00:00:00 2001 From: "Faisal Akber (VA3SFA)" Date: Tue, 13 Aug 2024 00:26:15 -0700 Subject: [PATCH 1/2] Change printf format from %d to %p for pointer and removing the related cast. Also, adding header include for for makedev(). --- mailbox.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mailbox.c b/mailbox.c index 3f0ece0..aee1f2a 100644 --- a/mailbox.c +++ b/mailbox.c @@ -33,6 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include "mailbox.h" @@ -59,7 +60,7 @@ void *mapmem(unsigned base, unsigned size) printf("base=0x%x, mem=%p\n", base, mem); #endif if (mem == MAP_FAILED) { - printf("mmap error %d\n", (int)mem); + printf("mmap error %p\n", mem); exit (-1); } close(mem_fd); From 8d91190acf763a6bd90809824dd8830c70c3d225 Mon Sep 17 00:00:00 2001 From: "Faisal Akber (VA3SFA)" Date: Tue, 13 Aug 2024 00:32:23 -0700 Subject: [PATCH 2/2] Fix cast from integer to pointer. This change updates wspr.cpp in the getReamMemPageFromPool function to use uintptr_t instead of unsigned in the cast to a pointer for vAddr and bAddr pointers. --- wspr.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wspr.cpp b/wspr.cpp index a32f931..b1f2f78 100644 --- a/wspr.cpp +++ b/wspr.cpp @@ -262,8 +262,8 @@ void getRealMemPageFromPool(void ** vAddr, void **bAddr) { ABORT(-1); } unsigned offset = mbox.pool_cnt*4096; - *vAddr = (void*)(((unsigned)mbox.virt_addr) + offset); - *bAddr = (void*)(((unsigned)mbox.bus_addr) + offset); + *vAddr = (void*)(((uintptr_t)mbox.virt_addr) + offset); + *bAddr = (void*)(((uintptr_t)mbox.bus_addr) + offset); //printf("getRealMemoryPageFromPool bus_addr=%x virt_addr=%x\n", (unsigned)*pAddr,(unsigned)*vAddr); mbox.pool_cnt++; }