summaryrefslogtreecommitdiff
path: root/lib/ultralib/src/rg/free.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ultralib/src/rg/free.c')
-rwxr-xr-xlib/ultralib/src/rg/free.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/ultralib/src/rg/free.c b/lib/ultralib/src/rg/free.c
new file mode 100755
index 0000000..0229b2c
--- /dev/null
+++ b/lib/ultralib/src/rg/free.c
@@ -0,0 +1,15 @@
+#include "PR/region.h"
+#include "PR/R4300.h"
+
+// TODO: this comes from a header
+#ident "$Revision: 1.17 $"
+
+void osFree(void *region, void *addr) {
+ register OSRegion *rp = region;
+ int i;
+
+ rp = region;
+ i = ((u8 *)addr - rp->r_startBufferAddress) / rp->r_bufferSize;
+ *(u16 *)(&rp->r_startBufferAddress[i * rp->r_bufferSize]) = rp->r_freeList;
+ rp->r_freeList = i;
+}