1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #include <unistd.h>
- #include <errno.h>
- extern void *___brk_addr;
- extern int brk (void *addr);
- void * sbrk (intptr_t increment)
- {
- void *oldbrk;
- if (___brk_addr == NULL)
- if (brk (0) < 0)
- return (void *) -1;
- if (increment == 0)
- return ___brk_addr;
- oldbrk = ___brk_addr;
- if (brk (oldbrk + increment) < 0)
- return (void *) -1;
- return oldbrk;
- }
|