RetroArch/wii/libogc/lwbt/btmemb.c
gblues 6904101c44 Clean up trailing whitespace
== DETAILS

Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00

71 lines
1.2 KiB
C

#include <stdlib.h>
#include <string.h>
#include "asm.h"
#include "processor.h"
#include "bt.h"
#include "btmemb.h"
void btmemb_init(struct memb_blks *blk)
{
MEMSET(blk->mem,0,(MEM_ALIGN_SIZE(blk->size)+sizeof(u32))*blk->num);
}
void* btmemb_alloc(struct memb_blks *blk)
{
s32 i;
u32 *ptr;
u32 level;
void *p;
_CPU_ISR_Disable(level);
ptr = (u32*)blk->mem;
for(i=0;i<blk->num;i++) {
if(*ptr==0) {
++(*ptr);
p = (ptr+1);
_CPU_ISR_Restore(level);
return p;
}
ptr = (u32*)((u8*)ptr+(MEM_ALIGN_SIZE(blk->size)+sizeof(u32)));
}
_CPU_ISR_Restore(level);
return NULL;
}
u8 btmemb_free(struct memb_blks *blk,void *ptr)
{
u8 ref;
s32 i;
u32 level;
u32 *ptr2,*ptr1;
_CPU_ISR_Disable(level);
ptr1 = ptr;
ptr2 = (u32*)blk->mem;
for(i=0;i<blk->num;i++) {
if(ptr2==(ptr1 - 1)) {
ref = --(*ptr2);
_CPU_ISR_Restore(level);
return ref;
}
ptr2 = (u32*)((u8*)ptr2+(MEM_ALIGN_SIZE(blk->size)+sizeof(u32)));
}
_CPU_ISR_Restore(level);
return -1;
}
u8 btmemb_ref(struct memb_blks *blk,void *ptr)
{
u8 ref;
u32 *pref;
u32 level;
_CPU_ISR_Disable(level);
pref = ptr-sizeof(u32);
ref = ++(*pref);
_CPU_ISR_Restore(level);
return ref;
}