/shark/trunk/drivers/linuxc26/linuxcomp.c |
---|
382,10 → 382,11 |
void vfree(void *addr) { |
if (addr == NULL) return; |
if (addr == NULL || *(unsigned long *)(addr-4) == 0) return; |
if ((*(unsigned long *)(addr-4) & 0x80000000) == 0x80000000) { |
free(addr-(*(unsigned long *)(addr-4) & 0x7FFFFFFF)-4); |
*(unsigned long *)(addr-4) = 0; |
return; |
} |