|
|
1.1 root 1: /*
2: * libc/sys/i8086/sbrk.c
3: * sbrk()
4: * Grow memory in data segment by a specified increment.
5: */
6:
7: #include <stdio.h>
8: #include <sys/types.h>
9: #include <sys/malloc.h>
10:
11: extern char *brk();
12: extern int errno;
13:
14: char *
15: sbrk(incr) unsigned int incr;
16: {
17: register vaddr_t send, rend;
18: register int oerrno;
19:
20: rend = (vaddr_t)brk(NULL);
21: if (incr == 0)
22: return rend;
23: send = rend + incr;
24: if (send < rend)
25: return BADSBRK;
26: oerrno = errno;
27: errno = 0;
28: brk(send);
29: if (errno)
30: return BADSBRK;
31: errno = oerrno;
32: return rend;
33: }
34:
35: /* end of libc/sys/i8086/sbrk.c */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.