1*433d6423SLionel Sambuc #include <sys/cdefs.h> 2*433d6423SLionel Sambuc #include "namespace.h" 3*433d6423SLionel Sambuc #include <lib.h> 4*433d6423SLionel Sambuc 5*433d6423SLionel Sambuc #include <unistd.h> 6*433d6423SLionel Sambuc 7*433d6423SLionel Sambuc #ifdef __weak_alias 8*433d6423SLionel Sambuc __weak_alias(sbrk, _sbrk) 9*433d6423SLionel Sambuc #endif 10*433d6423SLionel Sambuc 11*433d6423SLionel Sambuc extern char *_brksize; 12*433d6423SLionel Sambuc sbrk(incr)13*433d6423SLionel Sambucvoid *sbrk(incr) 14*433d6423SLionel Sambuc intptr_t incr; 15*433d6423SLionel Sambuc { 16*433d6423SLionel Sambuc char *newsize, *oldsize; 17*433d6423SLionel Sambuc 18*433d6423SLionel Sambuc oldsize = _brksize; 19*433d6423SLionel Sambuc newsize = _brksize + incr; 20*433d6423SLionel Sambuc if ((incr > 0 && newsize < oldsize) || (incr < 0 && newsize > oldsize)) 21*433d6423SLionel Sambuc return( (char *) -1); 22*433d6423SLionel Sambuc if (brk(newsize) == 0) 23*433d6423SLionel Sambuc return(oldsize); 24*433d6423SLionel Sambuc else 25*433d6423SLionel Sambuc return( (char *) -1); 26*433d6423SLionel Sambuc } 27