27 lines
		
	
	
		
			448 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			448 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include <sys/cdefs.h>
 | 
						|
#include "namespace.h"
 | 
						|
#include <lib.h>
 | 
						|
 | 
						|
#include <unistd.h>
 | 
						|
 | 
						|
#ifdef __weak_alias
 | 
						|
__weak_alias(sbrk, _sbrk)
 | 
						|
#endif
 | 
						|
 | 
						|
extern char *_brksize;
 | 
						|
 | 
						|
void *sbrk(incr)
 | 
						|
intptr_t incr;
 | 
						|
{
 | 
						|
  char *newsize, *oldsize;
 | 
						|
 | 
						|
  oldsize = _brksize;
 | 
						|
  newsize = _brksize + incr;
 | 
						|
  if ((incr > 0 && newsize < oldsize) || (incr < 0 && newsize > oldsize))
 | 
						|
	return( (char *) -1);
 | 
						|
  if (brk(newsize) == 0)
 | 
						|
	return(oldsize);
 | 
						|
  else
 | 
						|
	return( (char *) -1);
 | 
						|
}
 |