/shark/trunk/drivers/linuxc26/linuxcomp.c |
---|
374,17 → 374,23 |
diff = (unsigned long)((((unsigned long)mem/4)+1)*4-(unsigned long)mem); |
*(unsigned long *)(mem+diff) = *(unsigned long *)(mem-4) - diff - 4; |
*(unsigned long *)(mem+diff) = diff; |
return (mem+diff+4); |
return ((void *)((unsigned long)(mem+diff+4) | 0x80000000)); |
} |
void vfree(void *addr) { |
if (addr != NULL) |
free(addr); |
if (addr == NULL) return; |
if (((unsigned long)(addr) & 0x80000000) == 0x80000000) { |
free(addr-*(unsigned long *)(addr-4)-4); |
return; |
} |
free(addr); |
return; |
} |