#include <stddef.h> | |
#include <stdio.h> | |
#define HEAPSIZE 0x400 | |
signed char *sbrk( size_t size ); | |
union HEAP_TYPE | |
{ | |
signed long dummy; | |
signed char heap[HEAPSIZE]; | |
}; | |
static union HEAP_TYPE heap_area; | |
/* End address allocated by sbrk */ | |
static signed char *brk = ( signed char * ) &heap_area; | |
signed char *sbrk( size_t size ) | |
{ | |
signed char *p; | |
if( brk + size > heap_area.heap + HEAPSIZE ) | |
{ | |
p = ( signed char * ) - 1; | |
} | |
else | |
{ | |
p = brk; | |
brk += size; | |
} | |
return p; | |
} |