updated for version 7.3.577
Problem: Size of memory does not fit in 32 bit unsigned.
Solution: Use Kbyte instead of byte. Call GlobalMemoryStatusEx() instead of
GlobalMemoryStatus() when available.
diff --git a/src/os_amiga.c b/src/os_amiga.c
index d84af4c..e2b1579 100644
--- a/src/os_amiga.c
+++ b/src/os_amiga.c
@@ -191,16 +191,16 @@
}
/*
- * Return amount of memory still available.
+ * Return amount of memory still available in Kbyte.
*/
long_u
mch_avail_mem(special)
int special;
{
#ifdef __amigaos4__
- return (long_u)AvailMem(MEMF_ANY);
+ return (long_u)AvailMem(MEMF_ANY) >> 10;
#else
- return (long_u)AvailMem(special ? (long)MEMF_CHIP : (long)MEMF_ANY);
+ return (long_u)(AvailMem(special ? (long)MEMF_CHIP : (long)MEMF_ANY)) >> 10;
#endif
}