12345678910111213141516171819202122232425262728293031323334 |
- #include "lib.h"
- extern char *brksize;
- PUBLIC char *brk(addr)
- char *addr;
- {
- int k;
- k = callm1(MM, BRK, 0, 0, 0, addr, NIL_PTR, NIL_PTR);
- if (k == OK) {
- brksize = M.m2_p1;
- return(NIL_PTR);
- } else {
- return( (char*) -1 );
- }
- }
- PUBLIC char *sbrk(incr)
- int 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 );
- }
|