diff options
Diffstat (limited to 'libgloss/m68k/atari/atari-sbrk.c')
-rw-r--r-- | libgloss/m68k/atari/atari-sbrk.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libgloss/m68k/atari/atari-sbrk.c b/libgloss/m68k/atari/atari-sbrk.c new file mode 100644 index 0000000..8839cc7 --- /dev/null +++ b/libgloss/m68k/atari/atari-sbrk.c @@ -0,0 +1,24 @@ +/* + Copyright (C) 2025 Mikael Hildenborg + SPDX-License-Identifier: BSD-2-Clause +*/ + +#include <errno.h> +#include <_ansi.h> + +extern char *_HeapPtr; +extern char *_HeapBottom; +extern char *_HeapTop; + +char *sbrk(int nbytes) +{ + char *newheap = _HeapPtr + nbytes; + if (newheap > _HeapTop) + { + errno = ENOMEM; + return ((char *)-1); + } + char *retptr = _HeapPtr; + _HeapPtr = newheap; + return retptr; +} |