blob: 2dc719a16b43949ca14f8ba2c3211b9d98ce327c [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/* From libc-5.3.12 */
2
3#include <errno.h>
4#include <unistd.h>
5#include <sys/syscall.h>
6
7extern void * __curbrk attribute_hidden;
8extern int __init_brk (void) attribute_hidden;
9extern void *_brk(void *ptr) attribute_hidden;
10
11void *
12sbrk(intptr_t increment)
13{
14 if (__init_brk () == 0)
15 {
16 char * tmp = (char*)__curbrk+increment;
17 __curbrk = _brk(tmp);
18 if (__curbrk == tmp)
19 return tmp-increment;
20 __set_errno(ENOMEM);
21 return ((void *) -1);
22 }
23 return ((void *) -1);
24}
25libc_hidden_def(sbrk)