sbrk.c 297 B

12345678910111213141516
  1. /* See LICENSE of license details. */
  2. #include <stddef.h>
  3. void *_sbrk(ptrdiff_t incr)
  4. {
  5. extern char _end[];
  6. extern char _heap_end[];
  7. static char *curbrk = _end;
  8. if ((curbrk + incr < _end) || (curbrk + incr > _heap_end))
  9. return NULL - 1;
  10. curbrk += incr;
  11. return curbrk - incr;
  12. }