diff --git a/Source/system/_sbrk.c b/Source/system/_sbrk.c new file mode 100644 --- /dev/null +++ b/Source/system/_sbrk.c @@ -0,0 +1,22 @@ +// +// sbrk: basic implementation of _sbrk for sprintf and other stdlib functions +// + +#include + +caddr_t _sbrk(int incr) +{ +extern char end asm("end"); +static char *heap_end; +char *prev_heap_end; + +if (heap_end == 0) { +heap_end = &end; +} + +prev_heap_end = heap_end; + +heap_end += incr; + +return (caddr_t)prev_heap_end; +}